summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorTomas Mraz <tomas@openssl.org>2022-07-14 12:32:03 +0200
committerHugo Landau <hlandau@openssl.org>2022-07-18 08:06:17 +0100
commit5f311b10ab3dd6417a3247c62b4ec072751459db (patch)
tree0755cd26a8c625c9b9dae7b0eb002e6d8fcdbba9 /test
parent2266d1cad008ef03cb0791397b1cca9aaa6a4428 (diff)
downloadopenssl-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.c34
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(&copy);
+
+ 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(&copy, params)))
+ goto err;
+
+ if (!TEST_int_eq(copy.keylength, 275))
+ goto err;
+
+ if (!TEST_true(ossl_ffc_params_cmp(&copy, params, 0)))
+ goto err;
+
+ ret = 1;
+err:
+ ossl_ffc_params_cleanup(&copy);
+ 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;
}