Skip to content

Commit 5e6cb2b

Browse files
committed
Allow trusted_ca_keys with TLSv1.3
It is possible that the client will provied `trusted_ca_keys` during a TLSv1.3 connection with 1.2 downgrade. wolfSSL would error with `EXT_NOT_ALLOWED`. The TLSv1.3 spec states that it can be provided and should be ignored. ZD 19936
1 parent 0bac2c2 commit 5e6cb2b

2 files changed

Lines changed: 10 additions & 3 deletions

File tree

src/tls.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16149,7 +16149,7 @@ int TLSX_Parse(WOLFSSL* ssl, const byte* input, word16 length, byte msgType,
1614916149
/* RFC 8446 4.2.4 states trusted_ca_keys is not used
1615016150
in TLS 1.3. */
1615116151
if (IsAtLeastTLSv1_3(ssl->version)) {
16152-
return EXT_NOT_ALLOWED;
16152+
break;
1615316153
}
1615416154
else
1615516155
#endif

tests/test-tls13-down.conf

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
-v 3
5252
-H exitWithRet
5353

54-
# server TLSv1.2
54+
# server TLSv1.2
5555
-v 3
5656
-l ECDHE-RSA-AES256-GCM-SHA384
5757
-H exitWithRet
@@ -60,7 +60,7 @@
6060
-v 4
6161
-H exitWithRet
6262

63-
# server TLSv1.2
63+
# server TLSv1.2
6464
-v 3
6565
-l ECDHE-RSA-AES256-GCM-SHA384
6666
-H exitWithRet
@@ -119,3 +119,10 @@
119119
-7 3
120120
-s
121121
-l ECDHE-PSK-AES128-GCM-SHA256
122+
123+
# server TLSv1.3
124+
-v 4
125+
126+
# client downgrade with trusted ca
127+
-v d
128+
-5

0 commit comments

Comments
 (0)