From: zhaozg Date: Sat, 1 Jan 2022 14:45:12 +0000 (+0800) Subject: sm2: fix {i2d,d2i}_PublicKey EC_KEY is EVP_PKEY_SM2 X-Git-Tag: openssl-3.2.0-alpha1~3136 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8582dccc4dd1f1667b0e91a098e2cc78c7146dd7;p=thirdparty%2Fopenssl.git sm2: fix {i2d,d2i}_PublicKey EC_KEY is EVP_PKEY_SM2 CLA: trivial Reviewed-by: Paul Dale Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/17389) --- diff --git a/crypto/asn1/d2i_pu.c b/crypto/asn1/d2i_pu.c index 1be114b8a2a..6d5dd1bc603 100644 --- a/crypto/asn1/d2i_pu.c +++ b/crypto/asn1/d2i_pu.c @@ -54,7 +54,7 @@ EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp, goto err; } - switch (EVP_PKEY_get_id(ret)) { + switch (EVP_PKEY_get_base_id(ret)) { case EVP_PKEY_RSA: if ((ret->pkey.rsa = d2i_RSAPublicKey(NULL, pp, length)) == NULL) { ERR_raise(ERR_LIB_ASN1, ERR_R_ASN1_LIB); diff --git a/crypto/asn1/i2d_evp.c b/crypto/asn1/i2d_evp.c index 8b36388263c..070ac83376a 100644 --- a/crypto/asn1/i2d_evp.c +++ b/crypto/asn1/i2d_evp.c @@ -131,7 +131,7 @@ int i2d_PublicKey(const EVP_PKEY *a, unsigned char **pp) return i2d_provided(a, EVP_PKEY_PUBLIC_KEY, output_info, pp); } - switch (EVP_PKEY_get_id(a)) { + switch (EVP_PKEY_get_base_id(a)) { case EVP_PKEY_RSA: return i2d_RSAPublicKey(EVP_PKEY_get0_RSA(a), pp); #ifndef OPENSSL_NO_DSA