From ae59049347eaa325315c3c2d77593ed8000faf7d Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Fri, 30 Dec 2011 11:12:13 +0100 Subject: tests: Test ecdsa key generation and signing. --- tests/unittests/torture_pki.c | 45 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'tests/unittests/torture_pki.c') diff --git a/tests/unittests/torture_pki.c b/tests/unittests/torture_pki.c index 258b2ef8..2c227dbe 100644 --- a/tests/unittests/torture_pki.c +++ b/tests/unittests/torture_pki.c @@ -888,6 +888,50 @@ static void torture_pki_generate_key_dsa(void **state) ssh_free(session); } +static void torture_pki_generate_key_ecdsa(void **state) +{ + int rc; + ssh_key key; + ssh_signature sign; + ssh_session session=ssh_new(); + (void) state; + + rc = ssh_pki_generate(SSH_KEYTYPE_ECDSA, 256, &key); + assert_true(rc == SSH_OK); + assert_true(key != NULL); + sign = pki_do_sign(key, HASH, 20); + assert_true(sign != NULL); + rc = pki_signature_verify(session,sign,key,HASH,20); + assert_true(rc == SSH_OK); + ssh_signature_free(sign); + ssh_key_free(key); + key=NULL; + + rc = ssh_pki_generate(SSH_KEYTYPE_ECDSA, 384, &key); + assert_true(rc == SSH_OK); + assert_true(key != NULL); + sign = pki_do_sign(key, HASH, 20); + assert_true(sign != NULL); + rc = pki_signature_verify(session,sign,key,HASH,20); + assert_true(rc == SSH_OK); + ssh_signature_free(sign); + ssh_key_free(key); + key=NULL; + + rc = ssh_pki_generate(SSH_KEYTYPE_ECDSA, 512, &key); + assert_true(rc == SSH_OK); + assert_true(key != NULL); + sign = pki_do_sign(key, HASH, 20); + assert_true(sign != NULL); + rc = pki_signature_verify(session,sign,key,HASH,20); + assert_true(rc == SSH_OK); + ssh_signature_free(sign); + ssh_key_free(key); + key=NULL; + + ssh_free(session); +} + int torture_run_tests(void) { int rc; const UnitTest tests[] = { @@ -957,6 +1001,7 @@ int torture_run_tests(void) { unit_test(torture_pki_generate_key_rsa), unit_test(torture_pki_generate_key_rsa1), unit_test(torture_pki_generate_key_dsa), + unit_test(torture_pki_generate_key_ecdsa), }; (void)setup_both_keys; -- cgit v1.2.3