From: Richard Levitte Date: Mon, 20 Apr 2020 19:35:03 +0000 (+0200) Subject: PROV: Ensure that EC keys have a default digest X-Git-Tag: openssl-3.0.0-alpha1~5 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=aa45c4a9d35a8082c7ba326c19b97200001c9d82;p=oweals%2Fopenssl.git PROV: Ensure that EC keys have a default digest Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/11576) --- diff --git a/providers/implementations/keymgmt/ec_kmgmt.c b/providers/implementations/keymgmt/ec_kmgmt.c index 467004c783..9466b4fd0b 100644 --- a/providers/implementations/keymgmt/ec_kmgmt.c +++ b/providers/implementations/keymgmt/ec_kmgmt.c @@ -49,6 +49,7 @@ static OSSL_OP_keymgmt_export_fn ec_export; static OSSL_OP_keymgmt_export_types_fn ec_export_types; static OSSL_OP_keymgmt_query_operation_name_fn ec_query_operation_name; +#define EC_DEFAULT_MD "SHA256" #define EC_POSSIBLE_SELECTIONS \ (OSSL_KEYMGMT_SELECT_KEYPAIR | OSSL_KEYMGMT_SELECT_ALL_PARAMETERS) @@ -491,6 +492,10 @@ int ec_get_params(void *key, OSSL_PARAM params[]) return 0; } + if ((p = OSSL_PARAM_locate(params, OSSL_PKEY_PARAM_DEFAULT_DIGEST)) != NULL + && !OSSL_PARAM_set_utf8_string(p, EC_DEFAULT_MD)) + return 0; + p = OSSL_PARAM_locate(params, OSSL_PKEY_PARAM_USE_COFACTOR_ECDH); if (p != NULL) { int ecdh_cofactor_mode = 0;