EVP_PKEY_get_*_param should work with legacy

Also do not shortcut the pkey == NULL case
to allow EVP_PKEY_get_params() to raise an error.

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14606)
This commit is contained in:
Tomas Mraz 2021-03-18 14:22:20 +01:00
parent 03cd9d2f23
commit 6084b5c2c9
1 changed files with 2 additions and 6 deletions

View File

@ -1980,9 +1980,7 @@ int EVP_PKEY_get_bn_param(const EVP_PKEY *pkey, const char *key_name,
size_t buf_sz = 0;
if (key_name == NULL
|| bn == NULL
|| pkey == NULL
|| !evp_pkey_is_provided(pkey))
|| bn == NULL)
return 0;
memset(buffer, 0, sizeof(buffer));
@ -2021,9 +2019,7 @@ int EVP_PKEY_get_octet_string_param(const EVP_PKEY *pkey, const char *key_name,
OSSL_PARAM params[2];
int ret1 = 0, ret2 = 0;
if (key_name == NULL
|| pkey == NULL
|| !evp_pkey_is_provided(pkey))
if (key_name == NULL)
return 0;
params[0] = OSSL_PARAM_construct_octet_string(key_name, buf, max_buf_sz);