Fix bugs of evp/sm2

This commit is contained in:
Zhi Guan
2018-03-13 12:41:46 +08:00
parent 4b825edf3c
commit e124d150fa
4 changed files with 44 additions and 25 deletions

View File

@@ -52,16 +52,13 @@ int EVP_VerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sigbuf,
if (EVP_PKEY_CTX_set_signature_md(pkctx, EVP_MD_CTX_md(ctx)) <= 0)
goto err;
#ifndef OPENSSL_NO_SM2
if (EVP_PKEY_id(pkey) == EVP_PKEY_EC) {
if (EC_GROUP_get_curve_name(EC_KEY_get0_group(
EVP_PKEY_get0_EC_KEY(pkey))) == NID_sm2p256v1) {
if (EVP_PKEY_id(pkey) == EVP_PKEY_EC && EC_GROUP_get_curve_name(
EC_KEY_get0_group(EVP_PKEY_get0_EC_KEY(pkey))) == NID_sm2p256v1) {
# ifdef SM2_DEBUG
fprintf(stderr, "[SM2_DEBUG] %s->EVP_PKEY_CTX_set_ec_scheme\n",
__FUNCTION__);
fprintf(stderr, "[SM2_DEBUG] %s->EVP_PKEY_CTX_set_ec_scheme\n", __FUNCTION__);
# endif
if (EVP_PKEY_CTX_set_ec_scheme(pkctx, NID_sm_scheme) <= 0) {
goto err;
}
if (EVP_PKEY_CTX_set_ec_scheme(pkctx, NID_sm_scheme) <= 0) {
goto err;
}
}
#endif