diff options
author | Tomas Mraz <tomas@openssl.org> | 2022-07-14 12:32:03 +0200 |
---|---|---|
committer | Hugo Landau <hlandau@openssl.org> | 2022-07-18 08:06:17 +0100 |
commit | 5f311b10ab3dd6417a3247c62b4ec072751459db (patch) | |
tree | 0755cd26a8c625c9b9dae7b0eb002e6d8fcdbba9 /test | |
parent | 2266d1cad008ef03cb0791397b1cca9aaa6a4428 (diff) | |
download | openssl-new-5f311b10ab3dd6417a3247c62b4ec072751459db.tar.gz |
ossl_ffc_params_copy: Copy the keylength too
Reviewed-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18480)
Diffstat (limited to 'test')
-rw-r--r-- | test/ffc_internal_test.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/ffc_internal_test.c b/test/ffc_internal_test.c index 051a31eac0..f3df4ab4fd 100644 --- a/test/ffc_internal_test.c +++ b/test/ffc_internal_test.c @@ -618,6 +618,8 @@ static int ffc_private_gen_test(int index) ossl_ifc_ffc_compute_security_bits(BN_num_bits(params->p)), priv))) goto err; + if (!TEST_int_le(BN_num_bits(priv), 225)) + goto err; if (!TEST_true(ossl_ffc_validate_private_key(params->q, priv, &res))) goto err; @@ -628,6 +630,37 @@ err: BN_CTX_free(ctx); return ret; } + +static int ffc_params_copy_test(void) +{ + int ret = 0; + DH *dh = NULL; + FFC_PARAMS *params, copy; + + ossl_ffc_params_init(©); + + if (!TEST_ptr(dh = DH_new_by_nid(NID_ffdhe3072))) + goto err; + params = ossl_dh_get0_params(dh); + + if (!TEST_int_eq(params->keylength, 275)) + goto err; + + if (!TEST_true(ossl_ffc_params_copy(©, params))) + goto err; + + if (!TEST_int_eq(copy.keylength, 275)) + goto err; + + if (!TEST_true(ossl_ffc_params_cmp(©, params, 0))) + goto err; + + ret = 1; +err: + ossl_ffc_params_cleanup(©); + DH_free(dh); + return ret; +} #endif /* OPENSSL_NO_DH */ int setup_tests(void) @@ -643,6 +676,7 @@ int setup_tests(void) ADD_TEST(ffc_public_validate_test); ADD_TEST(ffc_private_validate_test); ADD_ALL_TESTS(ffc_private_gen_test, 10); + ADD_TEST(ffc_params_copy_test); #endif /* OPENSSL_NO_DH */ return 1; } |