From: Matt Caswell Date: Tue, 9 Feb 2021 15:12:09 +0000 (+0000) Subject: Run DH_check_ex() not DH_check_params_ex() when checking params X-Git-Tag: openssl-3.0.0-alpha12~39 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aee73562d17499f2660c14f8c150459097680a1d;p=thirdparty%2Fopenssl.git Run DH_check_ex() not DH_check_params_ex() when checking params Both DH_check_ex() and DH_check_params_ex() check the parameters. DH_check_ex() performs a more complete check, while DH_check_params_ex() performs a lightweight check. In 1.1.1 EVP_PKEY_param_check() would call DH_check_ex() for DH keys. For backwards compatibility we should continue with that behaviour. Fixes #13501 Reviewed-by: Paul Dale Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/14146) --- diff --git a/providers/implementations/keymgmt/dh_kmgmt.c b/providers/implementations/keymgmt/dh_kmgmt.c index 1d674a14bff..1691f66f447 100644 --- a/providers/implementations/keymgmt/dh_kmgmt.c +++ b/providers/implementations/keymgmt/dh_kmgmt.c @@ -378,7 +378,7 @@ static int dh_validate(const void *keydata, int selection) ok = 1; if ((selection & OSSL_KEYMGMT_SELECT_DOMAIN_PARAMETERS) != 0) - ok = ok && DH_check_params_ex(dh); + ok = ok && DH_check_ex(dh); if ((selection & OSSL_KEYMGMT_SELECT_PUBLIC_KEY) != 0) ok = ok && dh_validate_public(dh);