diff options
author | Shane Lontis <shane.lontis@oracle.com> | 2021-02-05 13:55:50 +1000 |
---|---|---|
committer | Shane Lontis <shane.lontis@oracle.com> | 2021-02-08 16:33:43 +1000 |
commit | 2db985b7b1e20ac670d196981aa7e8f31881d2eb (patch) | |
tree | 9c2a8d81fd86e6d92f497908488abb1766f93490 /test | |
parent | 64954e2f34b8839ca7ad1e9576a6efaf3e49e17c (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.c | 18 | ||||
-rw-r--r-- | test/ectest.c | 13 | ||||
-rw-r--r-- | test/evp_extra_test.c | 15 | ||||
-rw-r--r-- | test/evp_pkey_provided_test.c | 35 | ||||
-rw-r--r-- | test/helpers/predefined_dhparams.c | 5 | ||||
-rw-r--r-- | test/sslapitest.c | 5 |
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; |