#include <openssl/cms.h>
#include "cms_lcl.h"
#include "internal/asn1_int.h"
+#include "internal/evp_int.h"
/* CMS SignedData Utilities */
si->pkey = pk;
si->signer = signer;
- si->mctx = EVP_MD_CTX_create();
+ si->mctx = EVP_MD_CTX_new();
si->pctx = NULL;
if (si->mctx == NULL) {
static int cms_SignerInfo_content_sign(CMS_ContentInfo *cms,
CMS_SignerInfo *si, BIO *chain)
{
- EVP_MD_CTX *mctx = EVP_MD_CTX_create();
+ EVP_MD_CTX *mctx = EVP_MD_CTX_new();
int r = 0;
EVP_PKEY_CTX *pctx = NULL;
r = 1;
err:
- EVP_MD_CTX_destroy(mctx);
+ EVP_MD_CTX_free(mctx);
EVP_PKEY_CTX_free(pctx);
return r;
if (si->pctx)
pctx = si->pctx;
else {
- EVP_MD_CTX_init(mctx);
+ EVP_MD_CTX_reset(mctx);
if (EVP_DigestSignInit(mctx, &pctx, md, NULL, si->pkey) <= 0)
goto err;
}
goto err;
}
- EVP_MD_CTX_cleanup(mctx);
+ EVP_MD_CTX_reset(mctx);
ASN1_STRING_set0(si->signature, abuf, siglen);
err:
OPENSSL_free(abuf);
- EVP_MD_CTX_cleanup(mctx);
+ EVP_MD_CTX_reset(mctx);
return 0;
}
if (md == NULL)
return -1;
if (si->mctx == NULL)
- si->mctx = EVP_MD_CTX_create();
+ si->mctx = EVP_MD_CTX_new();
mctx = si->mctx;
if (EVP_DigestVerifyInit(mctx, &si->pctx, md, NULL, si->pkey) <= 0)
goto err;
if (r <= 0)
CMSerr(CMS_F_CMS_SIGNERINFO_VERIFY, CMS_R_VERIFICATION_FAILURE);
err:
- EVP_MD_CTX_cleanup(mctx);
+ EVP_MD_CTX_reset(mctx);
return r;
}
int CMS_SignerInfo_verify_content(CMS_SignerInfo *si, BIO *chain)
{
ASN1_OCTET_STRING *os = NULL;
- EVP_MD_CTX *mctx = EVP_MD_CTX_create();
+ EVP_MD_CTX *mctx = EVP_MD_CTX_new();
EVP_PKEY_CTX *pkctx = NULL;
int r = -1;
unsigned char mval[EVP_MAX_MD_SIZE];
err:
EVP_PKEY_CTX_free(pkctx);
- EVP_MD_CTX_destroy(mctx);
+ EVP_MD_CTX_free(mctx);
return r;
}