Remove the workaround for psa_key_agreement_internal

Remove the workaround for psa_key_agreement_internal to
have a shared_secret array always non-zero. The spec is
recently updated so that PSA_RAW_KEY_AGREEMENT_OUTPUT_MAX_SIZE
is always non-zero

Signed-off-by: Antonio de Angelis <antonio.deangelis@arm.com>
This commit is contained in:
Antonio de Angelis 2023-08-17 15:27:54 +01:00
parent f1adc2a7a1
commit 8e9d6b927e

View file

@ -7049,13 +7049,8 @@ static psa_status_t psa_key_agreement_internal(psa_key_derivation_operation_t *o
size_t peer_key_length)
{
psa_status_t status;
#if PSA_RAW_KEY_AGREEMENT_OUTPUT_MAX_SIZE != 0
uint8_t shared_secret[PSA_RAW_KEY_AGREEMENT_OUTPUT_MAX_SIZE];
size_t shared_secret_length = sizeof(shared_secret);
#else
uint8_t *shared_secret = NULL;
size_t shared_secret_length = 0;
#endif
psa_algorithm_t ka_alg = PSA_ALG_KEY_AGREEMENT_GET_BASE(operation->alg);
/* Step 1: run the secret agreement algorithm to generate the shared
@ -7064,7 +7059,7 @@ static psa_status_t psa_key_agreement_internal(psa_key_derivation_operation_t *o
private_key,
peer_key, peer_key_length,
shared_secret,
shared_secret_length,
sizeof(shared_secret),
&shared_secret_length);
if (status != PSA_SUCCESS) {
goto exit;