1
0
mirror of https://github.com/Mbed-TLS/mbedtls.git synced 2025-07-28 00:21:48 +03:00

remove psk key when ephemeral selected

ephemeral is selected, `handshake->psk` must be removed.
Otherwise the encrypt key will be caculate fail.

Signed-off-by: Jerry Yu <jerry.h.yu@arm.com>
This commit is contained in:
Jerry Yu
2022-07-30 23:22:08 +08:00
parent 56acc9421c
commit 5c28e7aa0e
3 changed files with 15 additions and 22 deletions

View File

@ -761,6 +761,9 @@ static int ssl_tls13_determine_key_exchange_mode( mbedtls_ssl_context *ssl )
else
if( ssl_tls13_check_ephemeral_key_exchange( ssl ) )
{
#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED)
mbedtls_ssl_remove_psk( ssl );
#endif
ssl->handshake->key_exchange_mode =
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL;
MBEDTLS_SSL_DEBUG_MSG( 2, ( "key exchange mode: ephemeral" ) );