name = OBJ_nid2sn(OBJ_obj2nid(alg->algorithm));
(void)ERR_set_mark();
- fetched = EVP_MD_fetch(ctx->libctx, name, ctx->propq);
+ fetched = EVP_MD_fetch(pkcs7_ctx_get0_libctx(ctx), name,
+ pkcs7_ctx_get0_propq(ctx));
if (fetched != NULL)
md = fetched;
else
if (pkey == NULL)
return 0;
- pctx = EVP_PKEY_CTX_new_from_pkey(ctx->libctx, pkey, ctx->propq);
+ pctx = EVP_PKEY_CTX_new_from_pkey(pkcs7_ctx_get0_libctx(ctx), pkey,
+ pkcs7_ctx_get0_propq(ctx));
if (pctx == NULL)
return 0;
int ret = -1;
const PKCS7_CTX *ctx = ri->ctx;
- pctx = EVP_PKEY_CTX_new_from_pkey(ctx->libctx, pkey, ctx->propq);
+ pctx = EVP_PKEY_CTX_new_from_pkey(pkcs7_ctx_get0_libctx(ctx), pkey,
+ pkcs7_ctx_get0_propq(ctx));
if (pctx == NULL)
return -1;
PKCS7_RECIP_INFO *ri = NULL;
ASN1_OCTET_STRING *os = NULL;
const PKCS7_CTX *p7_ctx;
+ OSSL_LIB_CTX *libctx;
+ const char *propq;
if (p7 == NULL) {
ERR_raise(ERR_LIB_PKCS7, PKCS7_R_INVALID_NULL_POINTER);
return NULL;
}
p7_ctx = pkcs7_get0_ctx(p7);
+ libctx = pkcs7_ctx_get0_libctx(p7_ctx);
+ propq = pkcs7_ctx_get0_propq(p7_ctx);
/*
* The content field in the PKCS7 ContentInfo is optional, but that really
ivlen = EVP_CIPHER_iv_length(evp_cipher);
xalg->algorithm = OBJ_nid2obj(EVP_CIPHER_type(evp_cipher));
if (ivlen > 0)
- if (RAND_bytes_ex(p7_ctx->libctx, iv, ivlen) <= 0)
+ if (RAND_bytes_ex(libctx, iv, ivlen) <= 0)
goto err;
(void)ERR_set_mark();
- fetched_cipher = EVP_CIPHER_fetch(p7_ctx->libctx,
+ fetched_cipher = EVP_CIPHER_fetch(libctx,
EVP_CIPHER_name(evp_cipher),
- p7_ctx->propq);
+ propq);
(void)ERR_pop_to_mark();
if (fetched_cipher != NULL)
cipher = fetched_cipher;
int eklen = 0, tkeylen = 0;
const char *name;
const PKCS7_CTX *p7_ctx;
+ OSSL_LIB_CTX *libctx;
+ const char *propq;
if (p7 == NULL) {
ERR_raise(ERR_LIB_PKCS7, PKCS7_R_INVALID_NULL_POINTER);
}
p7_ctx = pkcs7_get0_ctx(p7);
+ libctx = pkcs7_ctx_get0_libctx(p7_ctx);
+ propq = pkcs7_ctx_get0_propq(p7_ctx);
if (p7->d.ptr == NULL) {
ERR_raise(ERR_LIB_PKCS7, PKCS7_R_NO_CONTENT);
name = OBJ_nid2sn(OBJ_obj2nid(enc_alg->algorithm));
(void)ERR_set_mark();
- evp_cipher = EVP_CIPHER_fetch(p7_ctx->libctx, name, p7_ctx->propq);
+ evp_cipher = EVP_CIPHER_fetch(libctx, name, propq);
if (evp_cipher != NULL)
cipher = evp_cipher;
else
name = OBJ_nid2sn(OBJ_obj2nid(enc_alg->algorithm));
(void)ERR_set_mark();
- evp_cipher = EVP_CIPHER_fetch(p7_ctx->libctx, name, p7_ctx->propq);
+ evp_cipher = EVP_CIPHER_fetch(libctx, name, propq);
if (evp_cipher != NULL)
cipher = evp_cipher;
else
name = OBJ_nid2sn(OBJ_obj2nid(xa->algorithm));
(void)ERR_set_mark();
- evp_md = EVP_MD_fetch(p7_ctx->libctx, name, p7_ctx->propq);
+ evp_md = EVP_MD_fetch(libctx, name, propq);
if (evp_md != NULL)
md = evp_md;
else
goto err;
if (!EVP_SignFinal_ex(ctx_tmp, abuf, &abuflen, si->pkey,
- p7_ctx->libctx, p7_ctx->propq)) {
+ pkcs7_ctx_get0_libctx(p7_ctx),
+ pkcs7_ctx_get0_propq(p7_ctx))) {
OPENSSL_free(abuf);
ERR_raise(ERR_LIB_PKCS7, ERR_R_EVP_LIB);
goto err;
goto err;
}
- if (EVP_DigestSignInit_ex(mctx, &pctx, EVP_MD_name(md), ctx->libctx,
- ctx->propq, si->pkey) <= 0)
+ if (EVP_DigestSignInit_ex(mctx, &pctx, EVP_MD_name(md),
+ pkcs7_ctx_get0_libctx(ctx),
+ pkcs7_ctx_get0_propq(ctx), si->pkey) <= 0)
goto err;
/*
BIO *btmp;
EVP_PKEY *pkey;
const PKCS7_CTX *ctx = pkcs7_get0_ctx(p7);
+ OSSL_LIB_CTX *libctx = pkcs7_ctx_get0_libctx(ctx);
+ const char *propq = pkcs7_ctx_get0_propq(ctx);
mdc_tmp = EVP_MD_CTX_new();
if (mdc_tmp == NULL) {
}
(void)ERR_set_mark();
- fetched_md = EVP_MD_fetch(ctx->libctx, OBJ_nid2sn(md_type), ctx->propq);
+ fetched_md = EVP_MD_fetch(libctx, OBJ_nid2sn(md_type), propq);
if (fetched_md != NULL)
md = fetched_md;
goto err;
}
- i = EVP_VerifyFinal_ex(mdc_tmp, os->data, os->length, pkey, ctx->libctx,
- ctx->propq);
+ i = EVP_VerifyFinal_ex(mdc_tmp, os->data, os->length, pkey, libctx, propq);
if (i <= 0) {
ERR_raise(ERR_LIB_PKCS7, PKCS7_R_SIGNATURE_FAILURE);
ret = -1;
{
int i;
const PKCS7_CTX *ctx = pkcs7_get0_ctx(p7);
+ OSSL_LIB_CTX *libctx = pkcs7_ctx_get0_libctx(ctx);
+ const char *propq = pkcs7_ctx_get0_propq(ctx);
STACK_OF(PKCS7_RECIP_INFO) *rinfos = pkcs7_get_recipient_info(p7);
STACK_OF(PKCS7_SIGNER_INFO) *sinfos = PKCS7_get_signer_info(p7);
STACK_OF(X509) *certs = pkcs7_get_signer_certs(p7);
return;
for (i = 0; i < sk_X509_num(certs); i++)
- x509_set0_libctx(sk_X509_value(certs, i), ctx->libctx, ctx->propq);
+ x509_set0_libctx(sk_X509_value(certs, i), libctx, propq);
for (i = 0; i < sk_PKCS7_RECIP_INFO_num(rinfos); i++) {
PKCS7_RECIP_INFO *ri = sk_PKCS7_RECIP_INFO_value(rinfos, i);
- x509_set0_libctx(ri->cert, ctx->libctx, ctx->propq);
+ x509_set0_libctx(ri->cert, libctx, propq);
}
for (i = 0; i < sk_PKCS7_SIGNER_INFO_num(sinfos); i++) {