Add tests for invalid private parameters in mbedtls_ecdsa_sign()

This commit is contained in:
Darryl Green 2017-11-17 17:09:31 +00:00
parent c64a48bec7
commit f5bcbede92
2 changed files with 50 additions and 8 deletions

View file

@ -42,7 +42,7 @@ exit:
/* 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 )
{
mbedtls_ecp_group grp;
mbedtls_ecp_point Q;
@ -80,12 +80,15 @@ void ecdsa_prim_test_vectors( int id, char *d_str, char *xQ_str, char *yQ_str,
}
TEST_ASSERT( mbedtls_ecdsa_sign( &grp, &r, &s, &d, hash, hlen,
rnd_buffer_rand, &rnd_info ) == 0 );
rnd_buffer_rand, &rnd_info ) == result );
TEST_ASSERT( mbedtls_mpi_cmp_mpi( &r, &r_check ) == 0 );
TEST_ASSERT( mbedtls_mpi_cmp_mpi( &s, &s_check ) == 0 );
if ( result == 0)
{
TEST_ASSERT( mbedtls_mpi_cmp_mpi( &r, &r_check ) == 0 );
TEST_ASSERT( mbedtls_mpi_cmp_mpi( &s, &s_check ) == 0 );
TEST_ASSERT( mbedtls_ecdsa_verify( &grp, hash, hlen, &Q, &r_check, &s_check ) == 0 );
TEST_ASSERT( mbedtls_ecdsa_verify( &grp, hash, hlen, &Q, &r_check, &s_check ) == 0 );
}
exit:
mbedtls_ecp_group_free( &grp );