Avoid duplicated test function between pkcs1_rsassa_pss_sign / sign_ext
Signed-off-by: Cédric Meuter <cedric.meuter@gmail.com>
diff --git a/tests/suites/test_suite_pkcs1_v21.function b/tests/suites/test_suite_pkcs1_v21.function
index 2d14fdd..e32f9c5 100644
--- a/tests/suites/test_suite_pkcs1_v21.function
+++ b/tests/suites/test_suite_pkcs1_v21.function
@@ -115,70 +115,8 @@
void pkcs1_rsassa_pss_sign( int mod, data_t * input_P, data_t * input_Q,
data_t * input_N, data_t * input_E, int digest,
int hash, data_t * message_str, data_t * rnd_buf,
- data_t * result_str, int result )
-{
- unsigned char hash_result[MBEDTLS_MD_MAX_SIZE];
- unsigned char output[256];
- mbedtls_rsa_context ctx;
- mbedtls_test_rnd_buf_info info;
- mbedtls_mpi N, P, Q, E;
-
- info.buf = rnd_buf->x;
- info.length = rnd_buf->len;
-
- mbedtls_mpi_init( &N ); mbedtls_mpi_init( &P );
- mbedtls_mpi_init( &Q ); mbedtls_mpi_init( &E );
- mbedtls_rsa_init( &ctx, MBEDTLS_RSA_PKCS_V21, hash );
-
- memset( hash_result, 0x00, sizeof( hash_result ) );
- memset( output, 0x00, sizeof( output ) );
-
- TEST_ASSERT( mbedtls_mpi_read_binary( &P, input_P->x, input_P->len ) == 0 );
- TEST_ASSERT( mbedtls_mpi_read_binary( &Q, input_Q->x, input_Q->len ) == 0 );
- TEST_ASSERT( mbedtls_mpi_read_binary( &N, input_N->x, input_N->len ) == 0 );
- TEST_ASSERT( mbedtls_mpi_read_binary( &E, input_E->x, input_E->len ) == 0 );
-
- TEST_ASSERT( mbedtls_rsa_import( &ctx, &N, &P, &Q, NULL, &E ) == 0 );
- TEST_ASSERT( mbedtls_rsa_get_len( &ctx ) == (size_t) ( ( mod + 7 ) / 8 ) );
- TEST_ASSERT( mbedtls_rsa_complete( &ctx ) == 0 );
- TEST_ASSERT( mbedtls_rsa_check_privkey( &ctx ) == 0 );
-
-
- if( mbedtls_md_info_from_type( digest ) != NULL )
- TEST_ASSERT( mbedtls_md( mbedtls_md_info_from_type( digest ), message_str->x, message_str->len, hash_result ) == 0 );
-
- TEST_ASSERT( mbedtls_rsa_pkcs1_sign( &ctx, &mbedtls_test_rnd_buffer_rand,
- &info, MBEDTLS_RSA_PRIVATE, digest, 0,
- hash_result, output ) == result );
- if( result == 0 )
- {
- ASSERT_COMPARE( output, ctx.len, result_str->x, result_str->len );
- }
-
- info.buf = rnd_buf->x;
- info.length = rnd_buf->len;
-
- TEST_ASSERT( mbedtls_rsa_rsassa_pss_sign_ext( &ctx, &mbedtls_test_rnd_buffer_rand,
- &info, digest, 0, hash_result,
- MBEDTLS_RSA_SALT_LEN_ANY, output ) == result );
- if( result == 0 )
- {
- ASSERT_COMPARE( output, ctx.len, result_str->x, result_str->len );
- }
-
-exit:
- mbedtls_mpi_free( &N ); mbedtls_mpi_free( &P );
- mbedtls_mpi_free( &Q ); mbedtls_mpi_free( &E );
- mbedtls_rsa_free( &ctx );
-}
-/* END_CASE */
-
-/* BEGIN_CASE */
-void pkcs1_rsassa_pss_sign_ext( int mod, data_t * input_P, data_t *input_Q,
- data_t * input_N, data_t * input_E, int digest,
- int hash, data_t * message_str, data_t * rnd_buf,
- data_t * result_str, int fixed_salt_length,
- int result )
+ data_t * result_str, int fixed_salt_length,
+ int result )
{
unsigned char hash_result[MBEDTLS_MD_MAX_SIZE];
unsigned char output[512];
@@ -206,16 +144,31 @@
TEST_ASSERT( mbedtls_rsa_complete( &ctx ) == 0 );
TEST_ASSERT( mbedtls_rsa_check_privkey( &ctx ) == 0 );
-
if( mbedtls_md_info_from_type( digest ) != NULL )
TEST_ASSERT( mbedtls_md( mbedtls_md_info_from_type( digest ), message_str->x, message_str->len, hash_result ) == 0 );
- TEST_ASSERT( mbedtls_rsa_rsassa_pss_sign_ext( &ctx, &mbedtls_test_rnd_buffer_rand, &info, digest,
- 0, hash_result, fixed_salt_length, output ) == result );
+ if (fixed_salt_length == MBEDTLS_RSA_SALT_LEN_ANY)
+ {
+ TEST_ASSERT( mbedtls_rsa_pkcs1_sign( &ctx, &mbedtls_test_rnd_buffer_rand,
+ &info, MBEDTLS_RSA_PRIVATE, digest, 0,
+ hash_result, output ) == result );
+ if( result == 0 )
+ {
+ ASSERT_COMPARE( output, ctx.len, result_str->x, result_str->len );
+ }
+
+ info.buf = rnd_buf->x;
+ info.length = rnd_buf->len;
+ }
+
+ TEST_ASSERT( mbedtls_rsa_rsassa_pss_sign_ext( &ctx, &mbedtls_test_rnd_buffer_rand,
+ &info, digest, 0, hash_result,
+ fixed_salt_length, output ) == result );
if( result == 0 )
{
ASSERT_COMPARE( output, ctx.len, result_str->x, result_str->len );
}
+
exit:
mbedtls_mpi_free( &N ); mbedtls_mpi_free( &P );