test_suite_psa_crypto: Extended aead_multipart_state_test(2)

This patch adds psa_aead_decrypt_setup() & psa_aead_finish()
path to the multipart_state_testing.

Signed-off-by: Minos Galanakis <[email protected]>
This commit is contained in:
Minos Galanakis
2026-03-10 22:04:27 +00:00
parent e54d769fe8
commit f447b0264a
@@ -6516,6 +6516,34 @@ void aead_multipart_state_test(int key_type_arg, data_t *key_data,
tag_buffer, tag_length,
&tag_size),
PSA_SUCCESS);
psa_aead_abort(&operation);
/* For CCM, verifing without setting lengths must fail. */
TEST_EQUAL(psa_aead_verify(&operation, final_data,
finish_output_size,
&output_part_length,
tag_buffer,
tag_length),
PSA_ERROR_BAD_STATE);
PSA_ASSERT(psa_aead_decrypt_setup(&operation, key, alg));
PSA_ASSERT(psa_aead_set_nonce(&operation, nonce->x, nonce->len));
PSA_ASSERT(psa_aead_set_lengths(&operation, additional_data->len,
input_data->len));
PSA_ASSERT(psa_aead_update_ad(&operation, additional_data->x,
additional_data->len));
PSA_ASSERT(psa_aead_update(&operation, input_data->x,
input_data->len, output_data,
output_size, &output_length));
/* Signature verification is expected fail, but after the checks for lengths */
TEST_EQUAL(psa_aead_verify(&operation, final_data,
finish_output_size,
&output_part_length,
tag_buffer,
tag_length),
PSA_ERROR_INVALID_SIGNATURE);
} else {
PSA_ASSERT(psa_aead_finish(&operation, final_data,
finish_output_size,
@@ -6611,6 +6639,34 @@ void aead_multipart_state_test(int key_type_arg, data_t *key_data,
tag_buffer, tag_length,
&tag_size),
PSA_SUCCESS);
psa_aead_abort(&operation);
/* For CCM, verifing without setting lengths must fail. */
TEST_EQUAL(psa_aead_verify(&operation, final_data,
finish_output_size,
&output_part_length,
tag_buffer,
tag_length),
PSA_ERROR_BAD_STATE);
PSA_ASSERT(psa_aead_decrypt_setup(&operation, key, alg));
PSA_ASSERT(psa_aead_set_nonce(&operation, nonce->x, nonce->len));
PSA_ASSERT(psa_aead_set_lengths(&operation, additional_data->len,
input_data->len));
PSA_ASSERT(psa_aead_update_ad(&operation, additional_data->x,
additional_data->len));
PSA_ASSERT(psa_aead_update(&operation, input_data->x,
input_data->len, output_data,
output_size, &output_length));
/* Signature verification is expected fail, but after the checks for lengths */
TEST_EQUAL(psa_aead_verify(&operation, final_data,
finish_output_size,
&output_part_length,
tag_buffer,
tag_length),
PSA_ERROR_INVALID_SIGNATURE);
} else {
PSA_ASSERT(psa_aead_finish(&operation, final_data,
finish_output_size,