From 7fa4ac23c4868d7dda6a4b9699c5fc9d323c77f3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Fri, 28 Mar 2014 18:43:51 +0100
Subject: [PATCH] Test dsa_generate_params with large q.

---
 ChangeLog                   |  3 +++
 testsuite/dsa-keygen-test.c | 14 ++++++++++++++
 2 files changed, 17 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index 887d4791..0f6dd264 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,9 @@
 
 	* testsuite/dsa-keygen-test.c (test_main): Explicitly use
 	dsa_compat_generate_keypair.
+	(test_main): Test dsa_generate_params and dsa_generate_keypair
+	with a large q; p_bits = 1024, q_bits = 768.
+
 	* testsuite/testutils.h: Undo dsa-compat.h name mangling.
 
 	* dsa-keygen.c (dsa_generate_keypair): New interface, generating
diff --git a/testsuite/dsa-keygen-test.c b/testsuite/dsa-keygen-test.c
index 25757c95..6fee1da5 100644
--- a/testsuite/dsa-keygen-test.c
+++ b/testsuite/dsa-keygen-test.c
@@ -49,6 +49,20 @@ test_main(void)
 
   test_dsa_key(params, pub.y, key.x, 224);
   test_dsa256(&pub, &key, NULL);
+
+  /* Test with large q */
+  if (!dsa_generate_params (params,
+			    &lfib,
+			    (nettle_random_func *) knuth_lfib_random,
+			    NULL, verbose ? progress : NULL,
+			    1024, 768))
+    FAIL();
+
+  dsa_generate_keypair (params, pub.y, key.x,
+			&lfib,
+			(nettle_random_func *) knuth_lfib_random);
+  test_dsa_key(params, pub.y, key.x, 768);
+  test_dsa256(&pub, &key, NULL);
   
   dsa_public_key_clear(&pub);
   dsa_private_key_clear(&key);
-- 
GitLab