X-Git-Url: https://git.openssl.org/gitweb/?a=blobdiff_plain;f=crypto%2Fec%2Fec_ameth.c;h=2beeb82707bbb5f4da8c52f33574b84095665841;hb=e766f4a0531bffdab8ad2038279b755928d7a40a;hp=54d55ad472038cdf68a25bfb2ee64ba22dcfe830;hpb=a7cef52f9b961dcb1e5d0c3b75185a12a88ad2db;p=openssl.git diff --git a/crypto/ec/ec_ameth.c b/crypto/ec/ec_ameth.c index 54d55ad472..2beeb82707 100644 --- a/crypto/ec/ec_ameth.c +++ b/crypto/ec/ec_ameth.c @@ -504,7 +504,12 @@ static int ec_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2) #endif case ASN1_PKEY_CTRL_DEFAULT_MD_NID: - *(int *)arg2 = NID_sha256; + if (EVP_PKEY_id(pkey) == EVP_PKEY_SM2) { + /* For SM2, the only valid digest-alg is SM3 */ + *(int *)arg2 = NID_sm3; + } else { + *(int *)arg2 = NID_sha256; + } return 1; case ASN1_PKEY_CTRL_SET1_TLS_ENCPT: