1
0
mirror of https://github.com/Mbed-TLS/mbedtls.git synced 2025-08-08 17:42:09 +03:00

Optimize pake test code

Signed-off-by: Przemek Stekiel <przemyslaw.stekiel@mobica.com>
This commit is contained in:
Przemek Stekiel
2022-11-21 15:10:32 +01:00
parent ad0f357178
commit f82effa982

View File

@@ -32,25 +32,23 @@
#define ASSERT_OPERATION_IS_INACTIVE( operation ) TEST_ASSERT( operation.id == 0 ) #define ASSERT_OPERATION_IS_INACTIVE( operation ) TEST_ASSERT( operation.id == 0 )
#if defined(PSA_WANT_ALG_JPAKE) #if defined(PSA_WANT_ALG_JPAKE)
void ecjpake_operation_setup( psa_pake_operation_t *operation, int ecjpake_operation_setup( psa_pake_operation_t *operation,
psa_pake_cipher_suite_t *cipher_suite, psa_pake_cipher_suite_t *cipher_suite,
psa_pake_role_t role, psa_pake_role_t role,
mbedtls_svc_key_id_t key, mbedtls_svc_key_id_t key,
size_t key_available ) size_t key_available )
{ {
*operation = psa_pake_operation_init(); PSA_ASSERT( psa_pake_abort( operation ) );
TEST_EQUAL( psa_pake_setup( operation, cipher_suite ), PSA_ASSERT( psa_pake_setup( operation, cipher_suite ) );
PSA_SUCCESS );
TEST_EQUAL( psa_pake_set_role( operation, role), PSA_ASSERT( psa_pake_set_role( operation, role) );
PSA_SUCCESS );
if( key_available ) if( key_available )
TEST_EQUAL( psa_pake_set_password_key( operation, key ), PSA_ASSERT( psa_pake_set_password_key( operation, key ) );
PSA_SUCCESS ); return 0;
exit: exit:
return; return 1;
} }
#endif #endif
@@ -8865,21 +8863,21 @@ void ecjpake_setup( int alg_arg, int key_type_pw_arg, int key_usage_pw_arg,
NULL, 0 ), NULL, 0 ),
PSA_ERROR_INVALID_ARGUMENT ); PSA_ERROR_INVALID_ARGUMENT );
/* Invalid parameters (step) */ /* Invalid parameters (step) */
ecjpake_operation_setup( &operation, &cipher_suite, role, TEST_EQUAL( ecjpake_operation_setup( &operation, &cipher_suite, role,
key, pw_data->len ); key, pw_data->len ) , 0 );
TEST_EQUAL( psa_pake_input( &operation, PSA_PAKE_STEP_ZK_PROOF + 10, TEST_EQUAL( psa_pake_input( &operation, PSA_PAKE_STEP_ZK_PROOF + 10,
output_buffer, size_zk_proof ), output_buffer, size_zk_proof ),
PSA_ERROR_INVALID_ARGUMENT ); PSA_ERROR_INVALID_ARGUMENT );
/* Invalid first step */ /* Invalid first step */
ecjpake_operation_setup( &operation, &cipher_suite, role, TEST_EQUAL( ecjpake_operation_setup( &operation, &cipher_suite, role,
key, pw_data->len ); key, pw_data->len ), 0 );
TEST_EQUAL( psa_pake_input( &operation, PSA_PAKE_STEP_ZK_PROOF, TEST_EQUAL( psa_pake_input( &operation, PSA_PAKE_STEP_ZK_PROOF,
output_buffer, size_zk_proof ), output_buffer, size_zk_proof ),
PSA_ERROR_BAD_STATE ); PSA_ERROR_BAD_STATE );
/* Possibly valid */ /* Possibly valid */
ecjpake_operation_setup( &operation, &cipher_suite, role, TEST_EQUAL( ecjpake_operation_setup( &operation, &cipher_suite, role,
key, pw_data->len ); key, pw_data->len ), 0 );
TEST_EQUAL( psa_pake_input( &operation, PSA_PAKE_STEP_KEY_SHARE, TEST_EQUAL( psa_pake_input( &operation, PSA_PAKE_STEP_KEY_SHARE,
output_buffer, size_key_share ), output_buffer, size_key_share ),
expected_status_input_output); expected_status_input_output);
@@ -8904,21 +8902,21 @@ void ecjpake_setup( int alg_arg, int key_type_pw_arg, int key_usage_pw_arg,
NULL, 0, NULL ), NULL, 0, NULL ),
PSA_ERROR_INVALID_ARGUMENT ); PSA_ERROR_INVALID_ARGUMENT );
/* Invalid parameters (step) */ /* Invalid parameters (step) */
ecjpake_operation_setup( &operation, &cipher_suite, role, TEST_EQUAL( ecjpake_operation_setup( &operation, &cipher_suite, role,
key, pw_data->len ); key, pw_data->len ), 0 );
TEST_EQUAL( psa_pake_output( &operation, PSA_PAKE_STEP_ZK_PROOF + 10, TEST_EQUAL( psa_pake_output( &operation, PSA_PAKE_STEP_ZK_PROOF + 10,
output_buffer, buf_size, &output_len ), output_buffer, buf_size, &output_len ),
PSA_ERROR_INVALID_ARGUMENT ); PSA_ERROR_INVALID_ARGUMENT );
/* Invalid first step */ /* Invalid first step */
ecjpake_operation_setup( &operation, &cipher_suite, role, TEST_EQUAL( ecjpake_operation_setup( &operation, &cipher_suite, role,
key, pw_data->len ); key, pw_data->len ), 0 );
TEST_EQUAL( psa_pake_output( &operation, PSA_PAKE_STEP_ZK_PROOF, TEST_EQUAL( psa_pake_output( &operation, PSA_PAKE_STEP_ZK_PROOF,
output_buffer, buf_size, &output_len ), output_buffer, buf_size, &output_len ),
PSA_ERROR_BAD_STATE ); PSA_ERROR_BAD_STATE );
/* Possibly valid */ /* Possibly valid */
ecjpake_operation_setup( &operation, &cipher_suite, role, TEST_EQUAL( ecjpake_operation_setup( &operation, &cipher_suite, role,
key, pw_data->len ); key, pw_data->len ), 0 );
TEST_EQUAL( psa_pake_output( &operation, PSA_PAKE_STEP_KEY_SHARE, TEST_EQUAL( psa_pake_output( &operation, PSA_PAKE_STEP_KEY_SHARE,
output_buffer, buf_size, &output_len ), output_buffer, buf_size, &output_len ),
expected_status_input_output ); expected_status_input_output );