From b743d95051b2eaa522f0fe6c1d4cb5513b25277f Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Wed, 4 May 2022 11:06:20 +0200 Subject: [PATCH] Do not erase input key in psa_tls12_prf_psk_to_ms_set_key() When ALG_TLS12_PSK_TO_MS() is used, first derivation is correct but the following derivations output data is incorrect. This is because input key is erased in psa_tls12_prf_psk_to_ms_set_key() since commit 03faf5d2c174eef1ebab39a8139a4042e77049b8. Fixes: 03faf5d2c174eef1ebab39a8139a4042e77049b8 ("psa_tls12_prf_psk_to_ms_set_key: clear buffers after usage") Signed-off-by: Neil Armstrong --- library/psa_crypto.c | 1 - 1 file changed, 1 deletion(-) diff --git a/library/psa_crypto.c b/library/psa_crypto.c index d58923dbd..fa6800b4d 100644 --- a/library/psa_crypto.c +++ b/library/psa_crypto.c @@ -5371,7 +5371,6 @@ static psa_status_t psa_tls12_prf_psk_to_ms_set_key( *cur++ = MBEDTLS_BYTE_1( data_length ); *cur++ = MBEDTLS_BYTE_0( data_length ); memcpy( cur, data, data_length ); - mbedtls_platform_zeroize( (void*) data, data_length ); cur += data_length; status = psa_tls12_prf_set_key( prf, pms, cur - pms );