summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorShane Lontis <shane.lontis@oracle.com>2021-02-05 13:55:50 +1000
committerShane Lontis <shane.lontis@oracle.com>2021-02-08 16:33:43 +1000
commit2db985b7b1e20ac670d196981aa7e8f31881d2eb (patch)
tree9c2a8d81fd86e6d92f497908488abb1766f93490 /test
parent64954e2f34b8839ca7ad1e9576a6efaf3e49e17c (diff)
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 'test')
-rw-r--r--test/acvp_test.c18
-rw-r--r--test/ectest.c13
-rw-r--r--test/evp_extra_test.c15
-rw-r--r--test/evp_pkey_provided_test.c35
-rw-r--r--test/helpers/predefined_dhparams.c5
-rw-r--r--test/sslapitest.c5
6 files changed, 54 insertions, 37 deletions
diff --git a/test/acvp_test.c b/test/acvp_test.c
index 3d4214c784..2dc01aeeae 100644
--- a/test/acvp_test.c
+++ b/test/acvp_test.c
@@ -169,8 +169,9 @@ static int ecdsa_create_pkey(EVP_PKEY **pkey, const char *curve_name,
pub, pub_len) > 0)
|| !TEST_ptr(params = OSSL_PARAM_BLD_to_param(bld))
|| !TEST_ptr(ctx = EVP_PKEY_CTX_new_from_name(libctx, "EC", NULL))
- || !TEST_true(EVP_PKEY_key_fromdata_init(ctx))
- || !TEST_int_eq(EVP_PKEY_fromdata(ctx, pkey, params), expected))
+ || !TEST_true(EVP_PKEY_fromdata_init(ctx))
+ || !TEST_int_eq(EVP_PKEY_fromdata(ctx, pkey, EVP_PKEY_PUBLIC_KEY,
+ params), expected))
goto err;
ret = 1;
@@ -510,8 +511,8 @@ static int dsa_create_pkey(EVP_PKEY **pkey,
}
if (!TEST_ptr(params = OSSL_PARAM_BLD_to_param(bld))
|| !TEST_ptr(ctx = EVP_PKEY_CTX_new_from_name(libctx, "DSA", NULL))
- || !TEST_true(EVP_PKEY_key_fromdata_init(ctx))
- || !TEST_true(EVP_PKEY_fromdata(ctx, pkey, params)))
+ || !TEST_true(EVP_PKEY_fromdata_init(ctx))
+ || !TEST_true(EVP_PKEY_fromdata(ctx, pkey, EVP_PKEY_PUBLIC_KEY, params)))
goto err;
ret = 1;
@@ -930,8 +931,9 @@ static int dh_create_pkey(EVP_PKEY **pkey, const char *group_name,
if (!TEST_ptr(params = OSSL_PARAM_BLD_to_param(bld))
|| !TEST_ptr(ctx = EVP_PKEY_CTX_new_from_name(libctx, "DH", NULL))
- || !TEST_true(EVP_PKEY_key_fromdata_init(ctx))
- || !TEST_int_eq(EVP_PKEY_fromdata(ctx, pkey, params), pass))
+ || !TEST_true(EVP_PKEY_fromdata_init(ctx))
+ || !TEST_int_eq(EVP_PKEY_fromdata(ctx, pkey, EVP_PKEY_KEYPAIR, params),
+ pass))
goto err;
ret = 1;
@@ -1053,8 +1055,8 @@ static int rsa_create_pkey(EVP_PKEY **pkey,
}
if (!TEST_ptr(params = OSSL_PARAM_BLD_to_param(bld))
|| !TEST_ptr(ctx = EVP_PKEY_CTX_new_from_name(libctx, "RSA", NULL))
- || !TEST_true(EVP_PKEY_key_fromdata_init(ctx))
- || !TEST_true(EVP_PKEY_fromdata(ctx, pkey, params)))
+ || !TEST_true(EVP_PKEY_fromdata_init(ctx))
+ || !TEST_true(EVP_PKEY_fromdata(ctx, pkey, EVP_PKEY_KEYPAIR, params)))
goto err;
ret = 1;
diff --git a/test/ectest.c b/test/ectest.c
index e00e7c2b3a..6d08d0481f 100644
--- a/test/ectest.c
+++ b/test/ectest.c
@@ -2409,8 +2409,9 @@ static int do_test_custom_explicit_fromdata(EC_GROUP *group, BN_CTX *ctx,
if (!TEST_ptr(params = OSSL_PARAM_BLD_to_param(bld))
|| !TEST_ptr(pctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL))
- || !TEST_int_gt(EVP_PKEY_param_fromdata_init(pctx), 0)
- || !TEST_int_gt(EVP_PKEY_fromdata(pctx, &pkeyparam, params), 0))
+ || !TEST_int_gt(EVP_PKEY_fromdata_init(pctx), 0)
+ || !TEST_int_gt(EVP_PKEY_fromdata(pctx, &pkeyparam,
+ EVP_PKEY_KEY_PARAMETERS, params), 0))
goto err;
/*- Check that all the set values are retrievable -*/
@@ -2869,9 +2870,11 @@ static int custom_params_test(int id)
/* create two new provider-native `EVP_PKEY`s */
EVP_PKEY_CTX_free(pctx2);
if (!TEST_ptr(pctx2 = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL))
- || !TEST_true(EVP_PKEY_key_fromdata_init(pctx2))
- || !TEST_true(EVP_PKEY_fromdata(pctx2, &pkey1, params1))
- || !TEST_true(EVP_PKEY_fromdata(pctx2, &pkey2, params2)))
+ || !TEST_true(EVP_PKEY_fromdata_init(pctx2))
+ || !TEST_true(EVP_PKEY_fromdata(pctx2, &pkey1, EVP_PKEY_KEYPAIR,
+ params1))
+ || !TEST_true(EVP_PKEY_fromdata(pctx2, &pkey2, EVP_PKEY_PUBLIC_KEY,
+ params2)))
goto err;
/* compute keyexchange once more using the provider keys */
diff --git a/test/evp_extra_test.c b/test/evp_extra_test.c
index 223a8db6f1..b3f2ec689b 100644
--- a/test/evp_extra_test.c
+++ b/test/evp_extra_test.c
@@ -496,8 +496,9 @@ static int test_fromdata(char *keytype, OSSL_PARAM *params)
if (!TEST_ptr(pctx = EVP_PKEY_CTX_new_from_name(testctx, keytype, NULL)))
goto err;
- if (!TEST_int_gt(EVP_PKEY_key_fromdata_init(pctx), 0)
- || !TEST_int_gt(EVP_PKEY_fromdata(pctx, &pkey, params), 0))
+ if (!TEST_int_gt(EVP_PKEY_fromdata_init(pctx), 0)
+ || !TEST_int_gt(EVP_PKEY_fromdata(pctx, &pkey, EVP_PKEY_KEYPAIR,
+ params), 0))
goto err;
if (!TEST_ptr(pkey))
@@ -1954,8 +1955,9 @@ static int test_DSA_get_set_params(void)
if (!TEST_ptr(params = OSSL_PARAM_BLD_to_param(bld)))
goto err;
- if (!TEST_int_gt(EVP_PKEY_key_fromdata_init(pctx), 0)
- || !TEST_int_gt(EVP_PKEY_fromdata(pctx, &pkey, params), 0))
+ if (!TEST_int_gt(EVP_PKEY_fromdata_init(pctx), 0)
+ || !TEST_int_gt(EVP_PKEY_fromdata(pctx, &pkey, EVP_PKEY_KEYPAIR,
+ params), 0))
goto err;
if (!TEST_ptr(pkey))
@@ -2014,8 +2016,9 @@ static int test_RSA_get_set_params(void)
if (!TEST_ptr(params = OSSL_PARAM_BLD_to_param(bld)))
goto err;
- if (!TEST_int_gt(EVP_PKEY_key_fromdata_init(pctx), 0)
- || !TEST_int_gt(EVP_PKEY_fromdata(pctx, &pkey, params), 0))
+ if (!TEST_int_gt(EVP_PKEY_fromdata_init(pctx), 0)
+ || !TEST_int_gt(EVP_PKEY_fromdata(pctx, &pkey, EVP_PKEY_KEYPAIR,
+ params), 0))
goto err;
if (!TEST_ptr(pkey))
diff --git a/test/evp_pkey_provided_test.c b/test/evp_pkey_provided_test.c
index bfc9cd2ebc..85ae542b7c 100644
--- a/test/evp_pkey_provided_test.c
+++ b/test/evp_pkey_provided_test.c
@@ -339,8 +339,9 @@ static int test_fromdata_rsa(void)
if (!TEST_ptr(ctx = EVP_PKEY_CTX_new_from_name(NULL, "RSA", NULL)))
goto err;
- if (!TEST_true(EVP_PKEY_key_fromdata_init(ctx))
- || !TEST_true(EVP_PKEY_fromdata(ctx, &pk, fromdata_params))
+ if (!TEST_true(EVP_PKEY_fromdata_init(ctx))
+ || !TEST_true(EVP_PKEY_fromdata(ctx, &pk, EVP_PKEY_KEYPAIR,
+ fromdata_params))
|| !TEST_int_eq(EVP_PKEY_bits(pk), 32)
|| !TEST_int_eq(EVP_PKEY_security_bits(pk), 8)
|| !TEST_int_eq(EVP_PKEY_size(pk), 4))
@@ -411,8 +412,9 @@ static int test_evp_pkey_get_bn_param_large(void)
|| !TEST_true(OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_RSA_D, d))
|| !TEST_ptr(fromdata_params = OSSL_PARAM_BLD_to_param(bld))
|| !TEST_ptr(ctx = EVP_PKEY_CTX_new_from_name(NULL, "RSA", NULL))
- || !TEST_true(EVP_PKEY_key_fromdata_init(ctx))
- || !TEST_true(EVP_PKEY_fromdata(ctx, &pk, fromdata_params))
+ || !TEST_true(EVP_PKEY_fromdata_init(ctx))
+ || !TEST_true(EVP_PKEY_fromdata(ctx, &pk, EVP_PKEY_KEYPAIR,
+ fromdata_params))
|| !TEST_ptr(key_ctx = EVP_PKEY_CTX_new_from_pkey(NULL, pk, ""))
|| !TEST_true(EVP_PKEY_get_bn_param(pk, OSSL_PKEY_PARAM_RSA_N, &n_out))
|| !TEST_BN_eq(n, n_out))
@@ -501,8 +503,9 @@ static int test_fromdata_dh_named_group(void)
if (!TEST_ptr(ctx = EVP_PKEY_CTX_new_from_name(NULL, "DH", NULL)))
goto err;
- if (!TEST_true(EVP_PKEY_key_fromdata_init(ctx))
- || !TEST_true(EVP_PKEY_fromdata(ctx, &pk, fromdata_params))
+ if (!TEST_true(EVP_PKEY_fromdata_init(ctx))
+ || !TEST_true(EVP_PKEY_fromdata(ctx, &pk, EVP_PKEY_KEYPAIR,
+ fromdata_params))
|| !TEST_int_eq(EVP_PKEY_bits(pk), 2048)
|| !TEST_int_eq(EVP_PKEY_security_bits(pk), 112)
|| !TEST_int_eq(EVP_PKEY_size(pk), 256))
@@ -645,8 +648,9 @@ static int test_fromdata_dh_fips186_4(void)
if (!TEST_ptr(ctx = EVP_PKEY_CTX_new_from_name(NULL, "DH", NULL)))
goto err;
- if (!TEST_true(EVP_PKEY_key_fromdata_init(ctx))
- || !TEST_true(EVP_PKEY_fromdata(ctx, &pk, fromdata_params))
+ if (!TEST_true(EVP_PKEY_fromdata_init(ctx))
+ || !TEST_true(EVP_PKEY_fromdata(ctx, &pk, EVP_PKEY_KEYPAIR,
+ fromdata_params))
|| !TEST_int_eq(EVP_PKEY_bits(pk), 2048)
|| !TEST_int_eq(EVP_PKEY_security_bits(pk), 112)
|| !TEST_int_eq(EVP_PKEY_size(pk), 256))
@@ -916,8 +920,9 @@ static int test_fromdata_ecx(int tst)
fromdata_params = params;
}
- if (!TEST_true(EVP_PKEY_key_fromdata_init(ctx))
- || !TEST_true(EVP_PKEY_fromdata(ctx, &pk, fromdata_params))
+ if (!TEST_true(EVP_PKEY_fromdata_init(ctx))
+ || !TEST_true(EVP_PKEY_fromdata(ctx, &pk, EVP_PKEY_KEYPAIR,
+ fromdata_params))
|| !TEST_int_eq(EVP_PKEY_bits(pk), bits)
|| !TEST_int_eq(EVP_PKEY_security_bits(pk), security_bits)
|| !TEST_int_eq(EVP_PKEY_size(pk), size))
@@ -1028,8 +1033,9 @@ static int test_fromdata_ec(void)
if (!TEST_ptr(ctx))
goto err;
- if (!TEST_true(EVP_PKEY_key_fromdata_init(ctx))
- || !TEST_true(EVP_PKEY_fromdata(ctx, &pk, fromdata_params))
+ if (!TEST_true(EVP_PKEY_fromdata_init(ctx))
+ || !TEST_true(EVP_PKEY_fromdata(ctx, &pk, EVP_PKEY_KEYPAIR,
+ fromdata_params))
|| !TEST_int_eq(EVP_PKEY_bits(pk), 256)
|| !TEST_int_eq(EVP_PKEY_security_bits(pk), 128)
|| !TEST_int_eq(EVP_PKEY_size(pk), 2 + 35 * 2))
@@ -1286,8 +1292,9 @@ static int test_fromdata_dsa_fips186_4(void)
if (!TEST_ptr(ctx = EVP_PKEY_CTX_new_from_name(NULL, "DSA", NULL)))
goto err;
- if (!TEST_true(EVP_PKEY_key_fromdata_init(ctx))
- || !TEST_true(EVP_PKEY_fromdata(ctx, &pk, fromdata_params))
+ if (!TEST_true(EVP_PKEY_fromdata_init(ctx))
+ || !TEST_true(EVP_PKEY_fromdata(ctx, &pk, EVP_PKEY_KEYPAIR,
+ fromdata_params))
|| !TEST_int_eq(EVP_PKEY_bits(pk), 2048)
|| !TEST_int_eq(EVP_PKEY_security_bits(pk), 112)
|| !TEST_int_eq(EVP_PKEY_size(pk), 2 + 2 * (3 + sizeof(q_data))))
diff --git a/test/helpers/predefined_dhparams.c b/test/helpers/predefined_dhparams.c
index 18fb096216..1a19470081 100644
--- a/test/helpers/predefined_dhparams.c
+++ b/test/helpers/predefined_dhparams.c
@@ -23,7 +23,7 @@ static EVP_PKEY *get_dh_from_pg_bn(OSSL_LIB_CTX *libctx, const char *type,
OSSL_PARAM *params = NULL;
EVP_PKEY *dhpkey = NULL;
- if (pctx == NULL || !EVP_PKEY_key_fromdata_init(pctx))
+ if (pctx == NULL || !EVP_PKEY_fromdata_init(pctx))
goto err;
if ((tmpl = OSSL_PARAM_BLD_new()) == NULL
@@ -34,7 +34,8 @@ static EVP_PKEY *get_dh_from_pg_bn(OSSL_LIB_CTX *libctx, const char *type,
goto err;
params = OSSL_PARAM_BLD_to_param(tmpl);
- if (params == NULL || !EVP_PKEY_fromdata(pctx, &dhpkey, params))
+ if (params == NULL
+ || !EVP_PKEY_fromdata(pctx, &dhpkey, EVP_PKEY_KEY_PARAMETERS, params))
goto err;
err:
diff --git a/test/sslapitest.c b/test/sslapitest.c
index 7cae297a17..6f30a7efd1 100644
--- a/test/sslapitest.c
+++ b/test/sslapitest.c
@@ -8221,7 +8221,7 @@ static EVP_PKEY *get_tmp_dh_params(void)
pctx = EVP_PKEY_CTX_new_from_name(libctx, "DH", NULL);
if (!TEST_ptr(pctx)
- || !TEST_true(EVP_PKEY_key_fromdata_init(pctx)))
+ || !TEST_true(EVP_PKEY_fromdata_init(pctx)))
goto end;
tmpl = OSSL_PARAM_BLD_new();
@@ -8236,7 +8236,8 @@ static EVP_PKEY *get_tmp_dh_params(void)
params = OSSL_PARAM_BLD_to_param(tmpl);
if (!TEST_ptr(params)
- || !TEST_true(EVP_PKEY_fromdata(pctx, &dhpkey, params)))
+ || !TEST_true(EVP_PKEY_fromdata(pctx, &dhpkey,
+ EVP_PKEY_KEY_PARAMETERS, params)))
goto end;
tmp_dh_params = dhpkey;