Merge branch 'development-restricted' into iotssl-1260-non-blocking-ecc-restricted
* development-restricted: (578 commits)
Update library version number to 2.13.1
Don't define _POSIX_C_SOURCE in header file
Don't declare and define gmtime()-mutex on Windows platforms
Correct preprocessor guards determining use of gmtime()
Correct documentation of mbedtls_platform_gmtime_r()
Correct typo in documentation of mbedtls_platform_gmtime_r()
Correct POSIX version check to determine presence of gmtime_r()
Improve documentation of mbedtls_platform_gmtime_r()
platform_utils.{c/h} -> platform_util.{c/h}
Don't include platform_time.h if !MBEDTLS_HAVE_TIME
Improve wording of documentation of MBEDTLS_PLATFORM_GMTIME_R_ALT
Fix typo in documentation of MBEDTLS_PLATFORM_GMTIME_R_ALT
Replace 'thread safe' by 'thread-safe' in the documentation
Improve documentation of MBEDTLS_HAVE_TIME_DATE
ChangeLog: Add missing renamings gmtime -> gmtime_r
Improve documentation of MBEDTLS_HAVE_TIME_DATE
Minor documentation improvements
Style: Add missing period in documentation in threading.h
Rename mbedtls_platform_gmtime() to mbedtls_platform_gmtime_r()
Guard decl and use of gmtime mutex by HAVE_TIME_DATE and !GMTIME_ALT
...
diff --git a/tests/suites/test_suite_pk.function b/tests/suites/test_suite_pk.function
index 2cdc363..4813f71 100644
--- a/tests/suites/test_suite_pk.function
+++ b/tests/suites/test_suite_pk.function
@@ -70,7 +70,7 @@
*/
/* BEGIN_CASE */
-void pk_utils( int type, int size, int len, char *name )
+void pk_utils( int type, int size, int len, char * name )
{
mbedtls_pk_context pk;
@@ -91,7 +91,7 @@
/* END_CASE */
/* BEGIN_CASE depends_on:MBEDTLS_PK_PARSE_C:MBEDTLS_FS_IO */
-void mbedtls_pk_check_pair( char *pub_file, char *prv_file, int ret )
+void mbedtls_pk_check_pair( char * pub_file, char * prv_file, int ret )
{
mbedtls_pk_context pub, prv, alt;
@@ -121,16 +121,14 @@
/* END_CASE */
/* BEGIN_CASE depends_on:MBEDTLS_RSA_C */
-void pk_rsa_verify_test_vec( char *message_hex_string, int digest,
- int mod, int radix_N, char *input_N, int radix_E,
- char *input_E, char *result_hex_str, int result )
+void pk_rsa_verify_test_vec( data_t * message_str, int digest, int mod,
+ int radix_N, char * input_N, int radix_E,
+ char * input_E, data_t * result_str,
+ int result )
{
- unsigned char message_str[1000];
unsigned char hash_result[1000];
- unsigned char result_str[1000];
mbedtls_rsa_context *rsa;
mbedtls_pk_context pk;
- int msg_len;
mbedtls_pk_restart_ctx *rs_ctx = NULL;
#if defined(MBEDTLS_ECDSA_C) && defined(MBEDTLS_ECP_RESTARTABLE)
mbedtls_pk_restart_ctx ctx;
@@ -143,9 +141,7 @@
mbedtls_pk_init( &pk );
- memset( message_str, 0x00, 1000 );
memset( hash_result, 0x00, 1000 );
- memset( result_str, 0x00, 1000 );
TEST_ASSERT( mbedtls_pk_setup( &pk, mbedtls_pk_info_from_type( MBEDTLS_PK_RSA ) ) == 0 );
rsa = mbedtls_pk_rsa( pk );
@@ -154,17 +150,15 @@
TEST_ASSERT( mbedtls_mpi_read_string( &rsa->N, radix_N, input_N ) == 0 );
TEST_ASSERT( mbedtls_mpi_read_string( &rsa->E, radix_E, input_E ) == 0 );
- msg_len = unhexify( message_str, message_hex_string );
- unhexify( result_str, result_hex_str );
if( mbedtls_md_info_from_type( digest ) != NULL )
- TEST_ASSERT( mbedtls_md( mbedtls_md_info_from_type( digest ), message_str, msg_len, hash_result ) == 0 );
+ TEST_ASSERT( mbedtls_md( mbedtls_md_info_from_type( digest ), message_str->x, message_str->len, hash_result ) == 0 );
TEST_ASSERT( mbedtls_pk_verify( &pk, digest, hash_result, 0,
- result_str, mbedtls_pk_get_len( &pk ) ) == result );
+ result_str->x, mbedtls_pk_get_len( &pk ) ) == result );
TEST_ASSERT( mbedtls_pk_verify_restartable( &pk, digest, hash_result, 0,
- result_str, mbedtls_pk_get_len( &pk ), rs_ctx ) == result );
+ result_str->x, mbedtls_pk_get_len( &pk ), rs_ctx ) == result );
exit:
#if defined(MBEDTLS_ECDSA_C) && defined(MBEDTLS_ECP_RESTARTABLE)
@@ -175,27 +169,22 @@
/* END_CASE */
/* BEGIN_CASE depends_on:MBEDTLS_RSA_C */
-void pk_rsa_verify_ext_test_vec( char *message_hex_string, int digest,
- int mod, int radix_N, char *input_N, int radix_E,
- char *input_E, char *result_hex_str,
- int pk_type, int mgf1_hash_id, int salt_len,
- int result )
+void pk_rsa_verify_ext_test_vec( data_t * message_str, int digest,
+ int mod, int radix_N, char * input_N,
+ int radix_E, char * input_E,
+ data_t * result_str, int pk_type,
+ int mgf1_hash_id, int salt_len, int result )
{
- unsigned char message_str[1000];
unsigned char hash_result[1000];
- unsigned char result_str[1000];
mbedtls_rsa_context *rsa;
mbedtls_pk_context pk;
mbedtls_pk_rsassa_pss_options pss_opts;
void *options;
- int msg_len;
size_t hash_len;
mbedtls_pk_init( &pk );
- memset( message_str, 0x00, 1000 );
memset( hash_result, 0x00, 1000 );
- memset( result_str, 0x00, 1000 );
TEST_ASSERT( mbedtls_pk_setup( &pk, mbedtls_pk_info_from_type( MBEDTLS_PK_RSA ) ) == 0 );
rsa = mbedtls_pk_rsa( pk );
@@ -204,19 +193,17 @@
TEST_ASSERT( mbedtls_mpi_read_string( &rsa->N, radix_N, input_N ) == 0 );
TEST_ASSERT( mbedtls_mpi_read_string( &rsa->E, radix_E, input_E ) == 0 );
- msg_len = unhexify( message_str, message_hex_string );
- unhexify( result_str, result_hex_str );
if( digest != MBEDTLS_MD_NONE )
{
TEST_ASSERT( mbedtls_md( mbedtls_md_info_from_type( digest ),
- message_str, msg_len, hash_result ) == 0 );
+ message_str->x, message_str->len, hash_result ) == 0 );
hash_len = 0;
}
else
{
- memcpy( hash_result, message_str, msg_len );
- hash_len = msg_len;
+ memcpy( hash_result, message_str->x, message_str->len );
+ hash_len = message_str->len;
}
if( mgf1_hash_id < 0 )
@@ -233,7 +220,7 @@
TEST_ASSERT( mbedtls_pk_verify_ext( pk_type, options, &pk,
digest, hash_result, hash_len,
- result_str, mbedtls_pk_get_len( &pk ) ) == result );
+ result_str->x, mbedtls_pk_get_len( &pk ) ) == result );
exit:
mbedtls_pk_free( &pk );
@@ -241,19 +228,14 @@
/* END_CASE */
/* BEGIN_CASE depends_on:MBEDTLS_ECDSA_C */
-void pk_ec_test_vec( int type, int id, char *key_str,
- char *hash_str, char * sig_str, int ret )
+void pk_ec_test_vec( int type, int id, data_t * key, data_t * hash,
+ data_t * sig, int ret )
{
mbedtls_pk_context pk;
mbedtls_ecp_keypair *eckey;
- unsigned char hash[100], sig[500], key[500];
- size_t hash_len, sig_len, key_len;
mbedtls_pk_init( &pk );
- memset( hash, 0, sizeof( hash ) ); hash_len = unhexify(hash, hash_str);
- memset( sig, 0, sizeof( sig ) ); sig_len = unhexify(sig, sig_str);
- memset( key, 0, sizeof( key ) ); key_len = unhexify(key, key_str);
TEST_ASSERT( mbedtls_pk_setup( &pk, mbedtls_pk_info_from_type( type ) ) == 0 );
@@ -262,10 +244,10 @@
TEST_ASSERT( mbedtls_ecp_group_load( &eckey->grp, id ) == 0 );
TEST_ASSERT( mbedtls_ecp_point_read_binary( &eckey->grp, &eckey->Q,
- key, key_len ) == 0 );
+ key->x, key->len ) == 0 );
TEST_ASSERT( mbedtls_pk_verify( &pk, MBEDTLS_MD_NONE,
- hash, hash_len, sig, sig_len ) == ret );
+ hash->x, hash->len, sig->x, sig->len ) == ret );
exit:
mbedtls_pk_free( &pk );
@@ -448,26 +430,19 @@
/* END_CASE */
/* BEGIN_CASE depends_on:MBEDTLS_RSA_C */
-void pk_rsa_encrypt_test_vec( char *message_hex, int mod,
- int radix_N, char *input_N,
- int radix_E, char *input_E,
- char *result_hex, int ret )
+void pk_rsa_encrypt_test_vec( data_t * message, int mod, int radix_N,
+ char * input_N, int radix_E, char * input_E,
+ data_t * result, int ret )
{
- unsigned char message[1000];
unsigned char output[1000];
- unsigned char result[1000];
- size_t msg_len, olen, res_len;
rnd_pseudo_info rnd_info;
mbedtls_rsa_context *rsa;
mbedtls_pk_context pk;
+ size_t olen;
memset( &rnd_info, 0, sizeof( rnd_pseudo_info ) );
- memset( message, 0, sizeof( message ) );
memset( output, 0, sizeof( output ) );
- memset( result, 0, sizeof( result ) );
- msg_len = unhexify( message, message_hex );
- res_len = unhexify( result, result_hex );
mbedtls_pk_init( &pk );
TEST_ASSERT( mbedtls_pk_setup( &pk, mbedtls_pk_info_from_type( MBEDTLS_PK_RSA ) ) == 0 );
@@ -477,11 +452,11 @@
TEST_ASSERT( mbedtls_mpi_read_string( &rsa->N, radix_N, input_N ) == 0 );
TEST_ASSERT( mbedtls_mpi_read_string( &rsa->E, radix_E, input_E ) == 0 );
- TEST_ASSERT( mbedtls_pk_encrypt( &pk, message, msg_len,
+ TEST_ASSERT( mbedtls_pk_encrypt( &pk, message->x, message->len,
output, &olen, sizeof( output ),
rnd_pseudo_rand, &rnd_info ) == ret );
- TEST_ASSERT( olen == res_len );
- TEST_ASSERT( memcmp( output, result, olen ) == 0 );
+ TEST_ASSERT( olen == result->len );
+ TEST_ASSERT( memcmp( output, result->x, olen ) == 0 );
exit:
mbedtls_pk_free( &pk );
@@ -489,32 +464,24 @@
/* END_CASE */
/* BEGIN_CASE depends_on:MBEDTLS_RSA_C */
-void pk_rsa_decrypt_test_vec( char *cipher_hex, int mod,
- int radix_P, char *input_P,
- int radix_Q, char *input_Q,
- int radix_N, char *input_N,
- int radix_E, char *input_E,
- char *clear_hex, int ret )
+void pk_rsa_decrypt_test_vec( data_t * cipher, int mod, int radix_P,
+ char * input_P, int radix_Q, char * input_Q,
+ int radix_N, char * input_N, int radix_E,
+ char * input_E, data_t * clear, int ret )
{
- unsigned char clear[1000];
unsigned char output[1000];
- unsigned char cipher[1000];
- size_t clear_len, olen, cipher_len;
rnd_pseudo_info rnd_info;
mbedtls_mpi N, P, Q, E;
mbedtls_rsa_context *rsa;
mbedtls_pk_context pk;
+ size_t olen;
mbedtls_pk_init( &pk );
mbedtls_mpi_init( &N ); mbedtls_mpi_init( &P );
mbedtls_mpi_init( &Q ); mbedtls_mpi_init( &E );
memset( &rnd_info, 0, sizeof( rnd_pseudo_info ) );
- memset( clear, 0, sizeof( clear ) );
- memset( cipher, 0, sizeof( cipher ) );
- clear_len = unhexify( clear, clear_hex );
- cipher_len = unhexify( cipher, cipher_hex );
/* init pk-rsa context */
TEST_ASSERT( mbedtls_pk_setup( &pk, mbedtls_pk_info_from_type( MBEDTLS_PK_RSA ) ) == 0 );
@@ -534,13 +501,13 @@
/* decryption test */
memset( output, 0, sizeof( output ) );
olen = 0;
- TEST_ASSERT( mbedtls_pk_decrypt( &pk, cipher, cipher_len,
+ TEST_ASSERT( mbedtls_pk_decrypt( &pk, cipher->x, cipher->len,
output, &olen, sizeof( output ),
rnd_pseudo_rand, &rnd_info ) == ret );
if( ret == 0 )
{
- TEST_ASSERT( olen == clear_len );
- TEST_ASSERT( memcmp( output, clear, olen ) == 0 );
+ TEST_ASSERT( olen == clear->len );
+ TEST_ASSERT( memcmp( output, clear->x, olen ) == 0 );
}
exit:
@@ -617,7 +584,7 @@
/* END_CASE */
/* BEGIN_CASE depends_on:MBEDTLS_RSA_C:MBEDTLS_PK_RSA_ALT_SUPPORT */
-void pk_rsa_alt( )
+void pk_rsa_alt( )
{
/*
* An rsa_alt context can only do private operations (decrypt, sign).