From 0ecec0fa081a717db49d2ae10135cf285b95409d Mon Sep 17 00:00:00 2001 From: Shane Lontis Date: Tue, 22 Sep 2020 15:56:11 +1000 Subject: [PATCH] Fix missing propq in sm2 Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/12944) --- crypto/sm2/sm2_pmeth.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/crypto/sm2/sm2_pmeth.c b/crypto/sm2/sm2_pmeth.c index 665e278d1fa..32713a5ac48 100644 --- a/crypto/sm2/sm2_pmeth.c +++ b/crypto/sm2/sm2_pmeth.c @@ -130,6 +130,7 @@ static int pkey_sm2_encrypt(EVP_PKEY_CTX *ctx, SM2_PKEY_CTX *dctx = ctx->data; const EVP_MD *md = (dctx->md == NULL) ? EVP_sm3() : dctx->md; OPENSSL_CTX *libctx = ec_key_get_libctx(ec); + const char *propq = ec_key_get0_propq(ec); EVP_MD *fetched_md = NULL; if (out == NULL) { @@ -139,7 +140,7 @@ static int pkey_sm2_encrypt(EVP_PKEY_CTX *ctx, return 1; } - fetched_md = EVP_MD_fetch(libctx, EVP_MD_name(md), 0); + fetched_md = EVP_MD_fetch(libctx, EVP_MD_name(md), propq); if (fetched_md == NULL) return 0; ret = sm2_encrypt(ec, fetched_md, in, inlen, out, outlen); @@ -156,6 +157,7 @@ static int pkey_sm2_decrypt(EVP_PKEY_CTX *ctx, SM2_PKEY_CTX *dctx = ctx->data; const EVP_MD *md = (dctx->md == NULL) ? EVP_sm3() : dctx->md; OPENSSL_CTX *libctx = ec_key_get_libctx(ec); + const char *propq = ec_key_get0_propq(ec); EVP_MD *fetched_md = NULL; if (out == NULL) { @@ -165,7 +167,7 @@ static int pkey_sm2_decrypt(EVP_PKEY_CTX *ctx, return 1; } - fetched_md = EVP_MD_fetch(libctx, EVP_MD_name(md), 0); + fetched_md = EVP_MD_fetch(libctx, EVP_MD_name(md), propq); if (fetched_md == NULL) return 0; ret = sm2_decrypt(ec, fetched_md, in, inlen, out, outlen); -- 2.47.2