From: Richard Levitte Date: Mon, 28 Jun 2021 05:08:51 +0000 (+0200) Subject: EVP: Have EVP_PKCS82PKEY_ex() pass a correct selection to OSSL_DECODER X-Git-Tag: openssl-3.0.0-beta2~157 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=69e14a546d5455de39222d1553ad18a1631e5fe9;p=thirdparty%2Fopenssl.git EVP: Have EVP_PKCS82PKEY_ex() pass a correct selection to OSSL_DECODER Reviewed-by: Paul Dale Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/15934) --- diff --git a/crypto/evp/evp_pkey.c b/crypto/evp/evp_pkey.c index 683f4bec545..6f0b3dbda96 100644 --- a/crypto/evp/evp_pkey.c +++ b/crypto/evp/evp_pkey.c @@ -70,6 +70,7 @@ EVP_PKEY *EVP_PKCS82PKEY_ex(const PKCS8_PRIV_KEY_INFO *p8, OSSL_LIB_CTX *libctx, const unsigned char *p8_data = NULL; unsigned char *encoded_data = NULL; int encoded_len; + int selection; size_t len; OSSL_DECODER_CTX *dctx = NULL; @@ -79,8 +80,9 @@ EVP_PKEY *EVP_PKCS82PKEY_ex(const PKCS8_PRIV_KEY_INFO *p8, OSSL_LIB_CTX *libctx, p8_data = encoded_data; len = encoded_len; + selection = EVP_PKEY_KEYPAIR | EVP_PKEY_KEY_PARAMETERS; dctx = OSSL_DECODER_CTX_new_for_pkey(&pkey, "DER", "PrivateKeyInfo", - EVP_PKEY_NONE, 0, libctx, propq); + NULL, selection, libctx, propq); if (dctx == NULL || !OSSL_DECODER_from_data(dctx, &p8_data, &len)) /* try legacy */