Merge pull request #6304 from yuhaoth/pr/exclude-pre_shared_key-from-hrr-msg
TLS 1.3: PSK: Exclude pre_shared_key for HRR
This commit is contained in:
commit
07ba2be20b
2 changed files with 31 additions and 1 deletions
|
@ -2111,7 +2111,7 @@ static int ssl_tls13_write_server_hello_body( mbedtls_ssl_context *ssl,
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED)
|
#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED)
|
||||||
if( mbedtls_ssl_tls13_key_exchange_mode_with_psk( ssl ) )
|
if( !is_hrr && mbedtls_ssl_tls13_key_exchange_mode_with_psk( ssl ) )
|
||||||
{
|
{
|
||||||
ret = ssl_tls13_write_server_pre_shared_key_ext( ssl, p, end, &output_len );
|
ret = ssl_tls13_write_server_pre_shared_key_ext( ssl, p, end, &output_len );
|
||||||
if( ret != 0 )
|
if( ret != 0 )
|
||||||
|
|
|
@ -1599,3 +1599,33 @@ run_test "TLS 1.3: O->m: psk_ephemeral group(x448) check, good" \
|
||||||
-S "key exchange mode: psk$" \
|
-S "key exchange mode: psk$" \
|
||||||
-s "key exchange mode: psk_ephemeral" \
|
-s "key exchange mode: psk_ephemeral" \
|
||||||
-S "key exchange mode: ephemeral"
|
-S "key exchange mode: ephemeral"
|
||||||
|
|
||||||
|
requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
|
||||||
|
requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
|
||||||
|
requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
|
||||||
|
requires_openssl_tls1_3
|
||||||
|
run_test "TLS 1.3 O->m: psk_ephemeral group(secp256r1->secp384r1) check, good" \
|
||||||
|
"$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_list=Client_identity,6162636465666768696a6b6c6d6e6f70,abc,dead,def,beef curves=secp384r1" \
|
||||||
|
"$O_NEXT_CLI_NO_CERT -tls1_3 -msg -allow_no_dhe_kex -psk_identity Client_identity -psk 6162636465666768696a6b6c6d6e6f70 -groups P-256:P-384" \
|
||||||
|
0 \
|
||||||
|
-s "write selected_group: secp384r1" \
|
||||||
|
-s "HRR selected_group: secp384r1" \
|
||||||
|
-S "key exchange mode: psk$" \
|
||||||
|
-s "key exchange mode: psk_ephemeral" \
|
||||||
|
-S "key exchange mode: ephemeral"
|
||||||
|
|
||||||
|
requires_all_configs_enabled MBEDTLS_SSL_PROTO_TLS1_3 MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE MBEDTLS_SSL_SRV_C MBEDTLS_DEBUG_C
|
||||||
|
requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
|
||||||
|
requires_any_configs_enabled MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
|
||||||
|
requires_gnutls_tls1_3
|
||||||
|
requires_gnutls_next_no_ticket
|
||||||
|
requires_gnutls_next_disable_tls13_compat
|
||||||
|
run_test "TLS 1.3 G->m: psk_ephemeral group(secp256r1->secp384r1) check, good" \
|
||||||
|
"$P_SRV force_version=tls13 tls13_kex_modes=psk_ephemeral debug_level=5 psk_list=Client_identity,6162636465666768696a6b6c6d6e6f70,abc,dead,def,beef curves=secp384r1" \
|
||||||
|
"$G_NEXT_CLI_NO_CERT --debug=4 --single-key-share --priority NORMAL:-VERS-ALL:-KX-ALL:+ECDHE-PSK:+DHE-PSK:+PSK:+VERS-TLS1.3:-GROUP-ALL:+GROUP-SECP256R1:+GROUP-SECP384R1 --pskusername Client_identity --pskkey 6162636465666768696a6b6c6d6e6f70 localhost" \
|
||||||
|
0 \
|
||||||
|
-s "write selected_group: secp384r1" \
|
||||||
|
-s "HRR selected_group: secp384r1" \
|
||||||
|
-S "key exchange mode: psk$" \
|
||||||
|
-s "key exchange mode: psk_ephemeral" \
|
||||||
|
-S "key exchange mode: ephemeral"
|
||||||
|
|
Loading…
Reference in a new issue