Add test scenario
diff --git a/tests/suites/test_suite_psa_crypto.data b/tests/suites/test_suite_psa_crypto.data
index c3f5f90..3e80c90 100755
--- a/tests/suites/test_suite_psa_crypto.data
+++ b/tests/suites/test_suite_psa_crypto.data
@@ -120,3 +120,6 @@
PSA verify ECDSA SECP256R1 SHA-256
depends_on:MBEDTLS_PK_C:MBEDTLS_PK_PARSE_C:MBEDTLS_ECP_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED
asymmetric_verify:PSA_KEY_TYPE_ECC_KEYPAIR(PSA_KEY_TYPE_ECC_CURVE_NISTP256R1):"3078020101042100ab45435712649cb30bbddac49197eebf2740ffc7f874d9244c3460f54f322d3aa00a06082a8648ce3d030107a14403420004dea5e45d0ea37fc566232a508f4ad20ea13d47e4bf5fa4d54a57a0ba012042087097496efc583fed8b24a5b9be9a51de063f5a00a8b698a16fd7f29b5485f320":PSA_ALG_SHA_256:"9ac4335b469bbd791439248504dd0d49c71349a295fee5a1c68507f45a9e1c7b":"304502206a3399f69421ffe1490377adf2ea1f117d81a63cf5bf22e918d51175eb259151022100ce95d7c26cc04e25503e2f7a1ec3573e3c2412534bb4a19b3a7811742f49f50f"
+
+PSA AEAD Encrypt-Decrypt, first scenario
+aead_encrypt_decrypt:PSA_KEY_TYPE_AES:"C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF":PSA_ALG_CCM:"0C0D0E0F101112131415161718191A1B1C1D1E":"000102030405060708090A0B"
diff --git a/tests/suites/test_suite_psa_crypto.function b/tests/suites/test_suite_psa_crypto.function
index 6376e56..f6a0d22 100755
--- a/tests/suites/test_suite_psa_crypto.function
+++ b/tests/suites/test_suite_psa_crypto.function
@@ -575,9 +575,9 @@
/* END_CASE */
/* BEGIN_CASE */
-void aead_encrypt_decrypt( int key_type_arg, char *key_hex,
- int alg_arg, char *input_hex,
- cahr* additional_data, int additional_data_length )
+void aead_encrypt_decrypt( int key_type_arg, char * key_hex,
+ int alg_arg, char * input_hex,
+ char * add_data )
{
int slot = 1;
psa_key_type_t key_type = key_type_arg;
@@ -590,16 +590,20 @@
size_t output_length;
unsigned char *output_data2 = NULL;
size_t output_length2;
- psa_status_t actual_status;
uint8_t nonce[16];
size_t nonce_length = 16;
size_t tag_length = 16;
+ unsigned char *additional_data = NULL;
+ size_t additional_data_length = 0;
+ size_t i = 0;
key_data = unhexify_alloc( key_hex, &key_size );
TEST_ASSERT( key_data != NULL );
input_data = unhexify_alloc( input_hex, &input_size );
TEST_ASSERT( input_data != NULL );
+ additional_data = unhexify_alloc( add_data, &additional_data_length );
+ TEST_ASSERT( input_data != NULL );
output_data = mbedtls_calloc( 1, input_size + tag_length );
TEST_ASSERT( output_data != NULL );
if( alg == PSA_ALG_CCM )
@@ -607,7 +611,7 @@
nonce_length = 12;
}
- for( int i = 0; i < nonce_length; ++nonce_length )
+ for( ; i < nonce_length; ++nonce_length )
nonce[i] = i;
TEST_ASSERT( psa_crypto_init( ) == PSA_SUCCESS );
@@ -630,7 +634,7 @@
output_data, output_length - tag_length, output_data2,
output_length, &output_length2 ) == PSA_SUCCESS );
- TEST_ASSERT( memcmp( input, output_data2,
+ TEST_ASSERT( memcmp( input_data, output_data2,
input_size ) == 0 );
@@ -638,7 +642,6 @@
psa_destroy_key( slot );
mbedtls_free( key_data );
mbedtls_free( input_data );
- mbedtls_free( signature );
mbedtls_psa_crypto_free( );
}
/* END_CASE */