mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2026-05-12 23:04:31 +02:00
tls13: server: Fix spurious HRR
If the server during a TLS 1.3 handshake selects the PSK key exchange mode, it does not matter if it did not find in the key share extension a key share for a group it supports. Such a key share is used and necessary only in the case of the ephemeral or PSK ephemeral key exchange mode. This is a possible scenario in the case of a server that supports only the PSK key exchange mode and a client that also supports a key exchange mode with ephemeral keys. Signed-off-by: Ronald Cron <ronald.cron@arm.com>
This commit is contained in:
@@ -13362,6 +13362,19 @@ run_test "TLS 1.3 m->G: AES_128_GCM_SHA256,ffdhe8192,rsa_pss_rsae_sha256" \
|
||||
-c "Verifying peer X.509 certificate... ok" \
|
||||
-C "received HelloRetryRequest message"
|
||||
|
||||
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
|
||||
requires_config_enabled MBEDTLS_SSL_SRV_C
|
||||
requires_config_enabled MBEDTLS_SSL_CLI_C
|
||||
requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
|
||||
requires_config_enabled MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
|
||||
run_test "TLS 1.3: no HRR in case of PSK key exchange mode" \
|
||||
"$P_SRV nbio=2 psk=010203 psk_identity=0a0b0c tls13_kex_modes=psk curves=none" \
|
||||
"$P_CLI nbio=2 debug_level=3 psk=010203 psk_identity=0a0b0c tls13_kex_modes=all" \
|
||||
0 \
|
||||
-C "received HelloRetryRequest message" \
|
||||
-c "Selected key exchange mode: psk$" \
|
||||
-c "HTTP/1.0 200 OK"
|
||||
|
||||
# Test heap memory usage after handshake
|
||||
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
|
||||
requires_config_enabled MBEDTLS_MEMORY_DEBUG
|
||||
|
||||
Reference in New Issue
Block a user