From: Richard Levitte Date: Mon, 3 Aug 2020 05:22:37 +0000 (+0200) Subject: DESERIALIZER: Fix EVP_PKEY construction by export X-Git-Tag: openssl-3.0.0-alpha6~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4c525cb5b6bbc85de592cb7bf623676a914b8dae;p=thirdparty%2Fopenssl.git DESERIALIZER: Fix EVP_PKEY construction by export When the keymgmt provider and the deserializer provider differ, deserialization uses the deserializer export function instead of the keymgmt load, with a selection of what parts should be exported. That selection was set to OSSL_KEYMGMT_SELECT_ALL_PARAMETERS when it should have been OSSL_KEYMGMT_SELECT_ALL. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/12571) --- diff --git a/crypto/serializer/deserializer_pkey.c b/crypto/serializer/deserializer_pkey.c index e5e8bfda6f4..44e7eb56eea 100644 --- a/crypto/serializer/deserializer_pkey.c +++ b/crypto/serializer/deserializer_pkey.c @@ -181,7 +181,7 @@ static int deser_construct_EVP_PKEY(OSSL_DESERIALIZER_INSTANCE *deser_inst, OSSL_DESERIALIZER_provider(deser); /* - * If the EVP_KEYMGMT and the OSSL_DDESERIALIZER are from the + * If the EVP_KEYMGMT and the OSSL_DESERIALIZER are from the * same provider, we assume that the KEYMGMT has a key loading * function that can handle the provider reference we hold. * @@ -195,7 +195,7 @@ static int deser_construct_EVP_PKEY(OSSL_DESERIALIZER_INSTANCE *deser_inst, import_data.keymgmt = keymgmt; import_data.keydata = NULL; - import_data.selection = OSSL_KEYMGMT_SELECT_ALL_PARAMETERS; + import_data.selection = OSSL_KEYMGMT_SELECT_ALL; /* * No need to check for errors here, the value of