Add tests for invalid private parameters in ecdsa_sign()
diff --git a/tests/suites/test_suite_ecdsa.function b/tests/suites/test_suite_ecdsa.function
index ee379dc..f57ee14 100644
--- a/tests/suites/test_suite_ecdsa.function
+++ b/tests/suites/test_suite_ecdsa.function
@@ -42,7 +42,7 @@
/* BEGIN_CASE */
void ecdsa_prim_test_vectors( int id, char *d_str, char *xQ_str, char *yQ_str,
char *k_str, char *hash_str, char *r_str,
- char *s_str )
+ char *s_str, int result )
{
ecp_group grp;
ecp_point Q;
@@ -80,12 +80,15 @@
}
TEST_ASSERT( ecdsa_sign( &grp, &r, &s, &d, hash, hlen,
- rnd_buffer_rand, &rnd_info ) == 0 );
+ rnd_buffer_rand, &rnd_info ) == result );
- TEST_ASSERT( mpi_cmp_mpi( &r, &r_check ) == 0 );
- TEST_ASSERT( mpi_cmp_mpi( &s, &s_check ) == 0 );
+ if ( result == 0 )
+ {
+ TEST_ASSERT( mpi_cmp_mpi( &r, &r_check ) == 0 );
+ TEST_ASSERT( mpi_cmp_mpi( &s, &s_check ) == 0 );
- TEST_ASSERT( ecdsa_verify( &grp, hash, hlen, &Q, &r_check, &s_check ) == 0 );
+ TEST_ASSERT( ecdsa_verify( &grp, hash, hlen, &Q, &r_check, &s_check ) == 0 );
+ }
exit:
ecp_group_free( &grp );