Add support for TLS 1.3 using the OpenSSL TLS provider with Elytron
Overview
WFCORE-4172 added support for TLS 1.3 when using the JSSE TLS provider with Elytron. This task is to add support for TLS 1.3 when using the OpenSSL TLS provider with Elytron.
Issue Metadata
Issue
Related Issues
Dev Contacts
QE Contacts
Testing By
[ ] Engineering
[x] QE
-
TBD
Affected Projects or Components
-
WildFly OpenSSL
-
WildFly Core
-
WildFly (documentation)
Other Interested Projects
Requirements
Hard Requirements
-
When using the OpenSSL TLS provider with Elytron, it should be possible to make use of TLS 1.3 by configuring the
cipher-suite-names
attribute in aserver-ssl-context
or in aclient-ssl-context
in the Elytron subsystem.-
Whether or not TLS 1.3 should be used by default when the OpenSSL TLS provider is in use and the
cipher-suite-names
attribute has not been specified will need to be determined using the performance tests that were used for WFCORE-4172. -
Example configuration:
-
/subsystem=elytron/server-ssl-context=myTLS13Context:add(cipher-suite-names=TLS_AES_128_CCM_8_SHA256:TLS_AES_256_GCM_SHA384, ...)
/subsystem=elytron/client-ssl-context=myTLS13ClientContext:add(cipher-suite-names=TLS_AES_128_CCM_8_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256, ...)
-
When using the OpenSSL TLS provider with Elytron, it should be possible to make use of TLS 1.3 by configuring the
cipher-suite names
attriute in anssl-context
using the Elytron authentication client.-
Whether or not TLS 1.3 should be used by default when the OpenSSL TLS provider is in use and the
cipher-suite names
attribute has not been specified will need to be determined using the performance tests that were used for WFCORE-4172. -
Example configuration:
-
<ssl-context name="myTLS13Context"> ... <cipher-suite names="TLS_AES_128_CCM_8_SHA256:TLS_AES_256_GCM_SHA384"/> ... </ssl-context>
Nice-to-Have Requirements
Non-Requirements
Test Plan
All testing should be done using the OpenSSL TLS provider. The TLS 1.3 cipher suites that are actually available will depend on this provider.
One-way and two-way SSL tests will be added to the WildFly OpenSSL testsuite and to the WildFly
Core testsuite that make use of the TLS 1.3 protocol and TLS 1.3 cipher suites. The java.specification.version
system property will be used to make sure that these new tests only get run when JDK 11 or higher
is in use since TLS 1.3 was only introduced in JDK 11.
Community Documentation
Documentation on how to use the OpenSSL TLS provider with Elytron is being added to the "OpenSSL" section in the Elytron documentation (see WFLY-13084).
The "OpenSSL" section will then be updated to indicate that the TLS 1.3 protocol can be used with
the OpenSSL TLS provider by configuring the cipher-suite-names
attribute.
Release Note Content
It is now possible to use TLS 1.3 with WildFly when using the OpenSSL TLS provider with Elytron.