From 5f311b10ab3dd6417a3247c62b4ec072751459db Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Thu, 14 Jul 2022 12:32:03 +0200 Subject: ossl_ffc_params_copy: Copy the keylength too Reviewed-by: Kurt Roeckx Reviewed-by: Paul Dale Reviewed-by: Hugo Landau (Merged from https://github.com/openssl/openssl/pull/18480) --- test/ffc_internal_test.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'test') 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; } -- cgit v1.2.1