@@ -3446,31 +3446,45 @@ tls13_srv_max_early_data_size:TEST_EARLY_DATA_HRR:3:3
34463446TLS 1.3 srv, max early data size, HRR, 98, wsz=49
34473447tls13_srv_max_early_data_size:TEST_EARLY_DATA_HRR:97:0
34483448
3449- # 1.2 minimal ClientHello breakdown:
3449+ # (Minimal) ClientHello breakdown:
34503450# 160303rlrl - record header, 2-byte record contents len
34513451# 01hlhlhl - handshake header, 3-byte handshake message len
34523452# 0303 - protocol version: 1.2
34533453# 0123456789abcdef (repeated, 4 times total) - 32-byte "random"
34543454# 00 - session ID (empty)
34553455# 0002cvcv - ciphersuite list: 2-byte len + list of 2-byte values (see below)
34563456# 0100 - compression methods: 1-byte len then "null" (only legal value now)
3457- # [then end, or extensions]
3457+ # [then end, or extensions, see notes below ]
34583458# elel - 2-byte extensions length
34593459# ...
3460+ # 000a - elliptic_curves aka supported_groups
3461+ # 0004 - extension length
3462+ # 0002 - length of named_curve_list / named_group_list
3463+ # 0017 - secp256r1 aka NIST P-256
3464+ # ...
34603465#
34613466# Note: currently our TLS "1.3 or 1.2" code requires extension length to be
34623467# present even it it's 0. This is not strictly compliant but doesn't matter
34633468# much in practice as these days everyone wants to use signature_algorithms
34643469# (for hashes better than SHA-1), secure_renego (even if you have renego
34653470# disabled), and most people want either ECC or PSK related extensions.
3471+ # See https://github.com/Mbed-TLS/mbedtls/issues/9963
3472+ #
3473+ # Also, currently we won't negotiate ECC ciphersuites unless at least the
3474+ # supported_groups extension is present, see
3475+ # https://github.com/Mbed-TLS/mbedtls/issues/7458
34663476#
34673477# Note: cccc is currently not assigned, so can be used get a consistent
34683478# "no matching ciphersuite" behaviour regardless of the configuration.
3469- # 002f is MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA, MTI in 1.2, but removed in 4.0.
3479+ # c02b is MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (1.2)
3480+
3481+ # See "ClientHello breakdown" above
3482+ # MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 with secp256r1
34703483Inject ClientHello - TLS 1.2 good (for reference)
3471- depends_on:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_KEY_EXCHANGE_RSA_ENABLED :MBEDTLS_SSL_HAVE_AES:MBEDTLS_MD_CAN_SHA1:MBEDTLS_SSL_HAVE_CBC
3472- inject_client_content_on_the_wire:MBEDTLS_SSL_CLIENT_HELLO:"160303002f0100002b03030123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef000002002f01000000 ":"<= parse client hello":0
3484+ depends_on:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED :MBEDTLS_SSL_HAVE_AES:MBEDTLS_MD_CAN_SHA256:MBEDTLS_SSL_HAVE_GCM:MBEDTLS_ECP_HAVE_SECP256R1
3485+ inject_client_content_on_the_wire:MBEDTLS_PK_ECDSA: MBEDTLS_SSL_CLIENT_HELLO:"16030300370100003303030123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef000002c02b01000008000a000400020017 ":"<= parse client hello":0
34733486
3487+ # See "ClientHello breakdown" above
34743488Inject ClientHello - TLS 1.2 unknown ciphersuite (for reference)
3475- depends_on:MBEDTLS_SSL_PROTO_TLS1_2
3476- inject_client_content_on_the_wire:MBEDTLS_SSL_CLIENT_HELLO:"160303002f0100002b03030123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef000002cccc01000000":"got no ciphersuites in common":MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE
3489+ depends_on:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_RSA_C
3490+ inject_client_content_on_the_wire:MBEDTLS_PK_RSA: MBEDTLS_SSL_CLIENT_HELLO:"160303002f0100002b03030123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef000002cccc01000000":"got no ciphersuites in common":MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE
0 commit comments