mirror of
https://github.com/QuasarApp/openssl.git
synced 2025-04-29 19:24:37 +00:00
modify EVP to support digest gettable/settable calls
Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/14240)
This commit is contained in:
parent
aa95e08b29
commit
6de3a06dd4
@ -656,14 +656,19 @@ int EVP_MD_CTX_set_params(EVP_MD_CTX *ctx, const OSSL_PARAM params[])
|
|||||||
|
|
||||||
const OSSL_PARAM *EVP_MD_settable_ctx_params(const EVP_MD *md)
|
const OSSL_PARAM *EVP_MD_settable_ctx_params(const EVP_MD *md)
|
||||||
{
|
{
|
||||||
if (md != NULL && md->settable_ctx_params != NULL)
|
void *alg;
|
||||||
return md->settable_ctx_params(ossl_provider_ctx(EVP_MD_provider(md)));
|
|
||||||
|
if (md != NULL && md->settable_ctx_params != NULL) {
|
||||||
|
alg = ossl_provider_ctx(EVP_MD_provider(md));
|
||||||
|
return md->settable_ctx_params(NULL, alg);
|
||||||
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
const OSSL_PARAM *EVP_MD_CTX_settable_params(EVP_MD_CTX *ctx)
|
const OSSL_PARAM *EVP_MD_CTX_settable_params(EVP_MD_CTX *ctx)
|
||||||
{
|
{
|
||||||
EVP_PKEY_CTX *pctx;
|
EVP_PKEY_CTX *pctx;
|
||||||
|
void *alg;
|
||||||
|
|
||||||
if (ctx == NULL)
|
if (ctx == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -678,9 +683,10 @@ const OSSL_PARAM *EVP_MD_CTX_settable_params(EVP_MD_CTX *ctx)
|
|||||||
return pctx->op.sig.signature->settable_ctx_md_params(
|
return pctx->op.sig.signature->settable_ctx_md_params(
|
||||||
pctx->op.sig.sigprovctx);
|
pctx->op.sig.sigprovctx);
|
||||||
|
|
||||||
if (ctx->digest != NULL && ctx->digest->settable_ctx_params != NULL)
|
if (ctx->digest != NULL && ctx->digest->settable_ctx_params != NULL) {
|
||||||
return ctx->digest->settable_ctx_params(
|
alg = ossl_provider_ctx(EVP_MD_provider(ctx->digest));
|
||||||
ossl_provider_ctx(EVP_MD_provider(ctx->digest)));
|
return ctx->digest->settable_ctx_params(ctx->provctx, alg);
|
||||||
|
}
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -706,14 +712,19 @@ int EVP_MD_CTX_get_params(EVP_MD_CTX *ctx, OSSL_PARAM params[])
|
|||||||
|
|
||||||
const OSSL_PARAM *EVP_MD_gettable_ctx_params(const EVP_MD *md)
|
const OSSL_PARAM *EVP_MD_gettable_ctx_params(const EVP_MD *md)
|
||||||
{
|
{
|
||||||
if (md != NULL && md->gettable_ctx_params != NULL)
|
void *alg;
|
||||||
return md->gettable_ctx_params(ossl_provider_ctx(EVP_MD_provider(md)));
|
|
||||||
|
if (md != NULL && md->gettable_ctx_params != NULL) {
|
||||||
|
alg = ossl_provider_ctx(EVP_MD_provider(md));
|
||||||
|
return md->gettable_ctx_params(NULL, alg);
|
||||||
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
const OSSL_PARAM *EVP_MD_CTX_gettable_params(EVP_MD_CTX *ctx)
|
const OSSL_PARAM *EVP_MD_CTX_gettable_params(EVP_MD_CTX *ctx)
|
||||||
{
|
{
|
||||||
EVP_PKEY_CTX *pctx;
|
EVP_PKEY_CTX *pctx;
|
||||||
|
void *alg;
|
||||||
|
|
||||||
if (ctx == NULL)
|
if (ctx == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -728,11 +739,10 @@ const OSSL_PARAM *EVP_MD_CTX_gettable_params(EVP_MD_CTX *ctx)
|
|||||||
return pctx->op.sig.signature->gettable_ctx_md_params(
|
return pctx->op.sig.signature->gettable_ctx_md_params(
|
||||||
pctx->op.sig.sigprovctx);
|
pctx->op.sig.sigprovctx);
|
||||||
|
|
||||||
if (ctx->digest != NULL
|
if (ctx->digest != NULL && ctx->digest->gettable_ctx_params != NULL) {
|
||||||
&& ctx->digest->gettable_ctx_params != NULL)
|
alg = ossl_provider_ctx(EVP_MD_provider(ctx->digest));
|
||||||
return ctx->digest->gettable_ctx_params(
|
return ctx->digest->gettable_ctx_params(ctx->provctx, alg);
|
||||||
ossl_provider_ctx(EVP_MD_provider(ctx->digest)));
|
}
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user