You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
TLS Extensions: add more extensions and improve current
Added support for record_size_limit in TLS 1.3 and TLS 1.2.
Added compress_certificate support for TLS 1.3.
Added signed_certificate_timestamp TLS 1.2 send and TLS 1.2 and 1.3 receive.
Accepts server_name in CertificateRequest.
Added API for setting signature algorithms for signature_algorithms_cert.
Tests added and interop performed where possible.
Copy file name to clipboardExpand all lines: .github/configs/os-check-linux.json
+19Lines changed: 19 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,23 @@
1
1
[
2
+
{"name": "record-size-limit",
3
+
"comment": "RFC 8449 on its own. --enable-all covers it alongside everything else; this is the minimal build, which is where the extension's own guards get exercised.",
4
+
"configure": ["--enable-recordsizelimit"]},
5
+
{"name": "record-size-limit-tls12",
6
+
"comment": "RFC 8449 defines the extension for TLS 1.2 too, where the server answers in the ServerHello. Guards the parse dispatch staying outside the WOLFSSL_TLS13 block.",
"comment": "RFC 6962 is a TLS 1.2 extension that TLS 1.3 relocated, so it must build with TLS 1.3 off. Guards the dispatch case staying outside the WOLFSSL_TLS13 block, and TLSX_SetResponse() staying behind NO_WOLFSSL_SERVER.",
"comment": "Server-only build without client auth: DoTls13CompressedCertificate() calls a static function guarded on exactly this combination, so it is the config that catches the guard drifting.",
If it's already installed, specify its path using --with-libz=/dir/])
10744
+
AC_MSG_ERROR([libz isn't found. If it's already
10745
+
installed, specify its path using --with-libz=/dir/])
10731
10746
fi
10732
10747
AC_MSG_RESULT([yes])
10733
10748
else
@@ -10737,6 +10752,67 @@ AC_ARG_WITH([libz],
10737
10752
]
10738
10753
)
10739
10754
10755
+
# Signed Certificate Timestamp (RFC 6962)
10756
+
AC_ARG_ENABLE([sct],
10757
+
[AS_HELP_STRING([--enable-sct],[Enable RFC 6962 signed_certificate_timestamp. Carries a Certificate Transparency SCT list between peers; validating it is left to the application (default: disabled)])],
[AS_HELP_STRING([--enable-recordsizelimit],[Enable RFC 8449 record_size_limit, the byte-exact replacement for max_fragment_length. Applies to TLS 1.2 and TLS 1.3 (default: disabled)])],
10769
+
[ ENABLED_RECORD_SIZE_LIMIT=$enableval ],
10770
+
[ ENABLED_RECORD_SIZE_LIMIT=no ]
10771
+
)
10772
+
dnl RFC 8449 defines the extension for TLS 1.2 as well as TLS 1.3, where the
10773
+
dnl server answers in the ServerHello rather than EncryptedExtensions, so no
[AS_HELP_STRING([--enable-certcomp],[Enable RFC 8879 TLS 1.3 certificate compression. Accepts a CompressedCertificate from the peer, and sends one when the certificate has been compressed with wolfSSL_CTX_compress_certs(). Needs --with-libz (default: disabled)])],
10783
+
[ ENABLED_CERTCOMP=$enableval ],
10784
+
[ ENABLED_CERTCOMP=no ]
10785
+
)
10786
+
if test "$ENABLED_CERTCOMP" = "yes"
10787
+
then
10788
+
certcomp_missing=""
10789
+
if test "x$ENABLED_TLS13" = "xno"
10790
+
then
10791
+
certcomp_missing="TLS 1.3"
10792
+
fi
10793
+
if test "x$ENABLED_LIBZ" = "xno"
10794
+
then
10795
+
certcomp_missing="libz"
10796
+
fi
10797
+
if test "x$certcomp_missing" != "x"
10798
+
then
10799
+
if test "x$certcomp_implicit" = "xyes"
10800
+
then
10801
+
dnl Switched on by --enable-all rather than asked for, so its
0 commit comments