From 05d62ef8e4846f353a724bd281164793ec6cb6b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se> Date: Wed, 2 Jun 2010 16:09:48 +0200 Subject: [PATCH] (test_dsa160): Added argument for expected signature. (test_dsa256): Likewise. Rev: nettle/testsuite/dsa-keygen-test.c:1.5 Rev: nettle/testsuite/testutils.c:1.8 Rev: nettle/testsuite/testutils.h:1.5 --- testsuite/dsa-keygen-test.c | 4 ++-- testsuite/testutils.c | 21 ++++++++++++++------- testsuite/testutils.h | 6 ++++-- 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/testsuite/dsa-keygen-test.c b/testsuite/dsa-keygen-test.c index 83786293..12dc3096 100644 --- a/testsuite/dsa-keygen-test.c +++ b/testsuite/dsa-keygen-test.c @@ -28,7 +28,7 @@ test_main(void) FAIL(); test_dsa_key(&pub, &key, 160); - test_dsa160(&pub, &key); + test_dsa160(&pub, &key, NULL); if (!dsa_generate_keypair(&pub, &key, &lfib, (nettle_random_func *) knuth_lfib_random, @@ -37,7 +37,7 @@ test_main(void) FAIL(); test_dsa_key(&pub, &key, 256); - test_dsa256(&pub, &key); + test_dsa256(&pub, &key, NULL); dsa_public_key_clear(&pub); dsa_private_key_clear(&key); diff --git a/testsuite/testutils.c b/testsuite/testutils.c index 82797352..f07b7c44 100644 --- a/testsuite/testutils.c +++ b/testsuite/testutils.c @@ -826,7 +826,8 @@ test_rsa_key(struct rsa_public_key *pub, void test_dsa160(const struct dsa_public_key *pub, - const struct dsa_private_key *key) + const struct dsa_private_key *key, + const struct dsa_signature *expected) { struct sha1_ctx sha1; struct dsa_signature signature; @@ -840,7 +841,7 @@ test_dsa160(const struct dsa_public_key *pub, ASSERT (dsa_sha1_sign(pub, key, &lfib, (nettle_random_func *) knuth_lfib_random, &sha1, &signature)); - + if (verbose) { fprintf(stderr, "dsa160 signature: "); @@ -849,6 +850,11 @@ test_dsa160(const struct dsa_public_key *pub, mpz_out_str(stderr, 16, signature.s); fprintf(stderr, "\n"); } + + if (expected) + if (mpz_cmp (signature.r, expected->r) + || mpz_cmp (signature.s, expected->s)) + FAIL(); /* Try bad data */ if (DSA_VERIFY(pub, sha1, @@ -872,7 +878,8 @@ test_dsa160(const struct dsa_public_key *pub, void test_dsa256(const struct dsa_public_key *pub, - const struct dsa_private_key *key) + const struct dsa_private_key *key, + const struct dsa_signature *expected) { struct sha256_ctx sha256; struct dsa_signature signature; @@ -896,10 +903,10 @@ test_dsa256(const struct dsa_public_key *pub, fprintf(stderr, "\n"); } -#if 0 - if (mpz_cmp(signature, expected)) - FAIL(); -#endif + if (expected) + if (mpz_cmp (signature.r, expected->r) + || mpz_cmp (signature.s, expected->s)) + FAIL(); /* Try bad data */ if (DSA_VERIFY(pub, sha256, diff --git a/testsuite/testutils.h b/testsuite/testutils.h index 966eca38..91ec4962 100644 --- a/testsuite/testutils.h +++ b/testsuite/testutils.h @@ -168,11 +168,13 @@ test_rsa_key(struct rsa_public_key *pub, void test_dsa160(const struct dsa_public_key *pub, - const struct dsa_private_key *key); + const struct dsa_private_key *key, + const struct dsa_signature *expected); void test_dsa256(const struct dsa_public_key *pub, - const struct dsa_private_key *key); + const struct dsa_private_key *key, + const struct dsa_signature *expected); void test_dsa_key(struct dsa_public_key *pub, -- GitLab