From 4c525cb5b6bbc85de592cb7bf623676a914b8dae Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Mon, 3 Aug 2020 07:22:37 +0200 Subject: [PATCH] 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) --- crypto/serializer/deserializer_pkey.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 -- 2.47.3