summaryrefslogtreecommitdiffstats
path: root/ssl
diff options
context:
space:
mode:
authorShane Lontis <shane.lontis@oracle.com>2021-02-05 04:55:50 +0100
committerShane Lontis <shane.lontis@oracle.com>2021-02-08 07:33:43 +0100
commit2db985b7b1e20ac670d196981aa7e8f31881d2eb (patch)
tree9c2a8d81fd86e6d92f497908488abb1766f93490 /ssl
parentFix race condition & allow operation cache to grow. (diff)
downloadopenssl-2db985b7b1e20ac670d196981aa7e8f31881d2eb.tar.xz
openssl-2db985b7b1e20ac670d196981aa7e8f31881d2eb.zip
Simplify the EVP_PKEY_XXX_fromdata_XX methods.
The existing names such as EVP_PKEY_param_fromdata_settable were a bit confusing since the 'param' referred to key params not OSSL_PARAM. To simplify the interface a 'selection' parameter will be passed instead. The changes are: (1) EVP_PKEY_fromdata_init() replaces both EVP_PKEY_key_fromdata_init() and EVP_PKEY_param_fromdata_init(). (2) EVP_PKEY_fromdata() has an additional selection parameter. (3) EVP_PKEY_fromdata_settable() replaces EVP_PKEY_key_fromdata_settable() and EVP_PKEY_param_fromdata_settable(). EVP_PKEY_fromdata_settable() also uses a selection parameter. Fixes #12989 Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/14076)
Diffstat (limited to 'ssl')
-rw-r--r--ssl/statem/statem_clnt.c4
-rw-r--r--ssl/t1_lib.c5
2 files changed, 5 insertions, 4 deletions
diff --git a/ssl/statem/statem_clnt.c b/ssl/statem/statem_clnt.c
index cff522604f..1e9ab00976 100644
--- a/ssl/statem/statem_clnt.c
+++ b/ssl/statem/statem_clnt.c
@@ -2063,8 +2063,8 @@ static int tls_process_ske_dhe(SSL *s, PACKET *pkt, EVP_PKEY **pkey)
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
- if (EVP_PKEY_key_fromdata_init(pctx) <= 0
- || EVP_PKEY_fromdata(pctx, &peer_tmp, params) <= 0) {
+ if (EVP_PKEY_fromdata_init(pctx) <= 0
+ || EVP_PKEY_fromdata(pctx, &peer_tmp, EVP_PKEY_KEYPAIR, params) <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_R_BAD_DH_VALUE);
goto err;
}
diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c
index a7b5a6cc3f..684e8494fc 100644
--- a/ssl/t1_lib.c
+++ b/ssl/t1_lib.c
@@ -2901,7 +2901,7 @@ EVP_PKEY *ssl_get_auto_dh(SSL *s)
pctx = EVP_PKEY_CTX_new_from_name(s->ctx->libctx, "DH", s->ctx->propq);
if (pctx == NULL
- || EVP_PKEY_key_fromdata_init(pctx) != 1)
+ || EVP_PKEY_fromdata_init(pctx) != 1)
goto err;
tmpl = OSSL_PARAM_BLD_new();
@@ -2911,7 +2911,8 @@ EVP_PKEY *ssl_get_auto_dh(SSL *s)
goto err;
params = OSSL_PARAM_BLD_to_param(tmpl);
- if (params == NULL || EVP_PKEY_fromdata(pctx, &dhp, params) != 1)
+ if (params == NULL
+ || EVP_PKEY_fromdata(pctx, &dhp, EVP_PKEY_KEY_PARAMETERS, params) != 1)
goto err;
err: