-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TLS 1.3 compliance #2711
Comments
0-RTT seems to be very delicate, as in only usable for idempotent requests such as GET: https://www.youtube.com/watch?v=grRi-aFrbSE However, too big of a win to ignore it, but requires APIs to tell the TLS stack that the application data is idempotent - doubt that these APIs are present in JDK, not sure about OpenSSL. |
In TLS 1.3 renegotiation is not possible, so we need to make sure that if we enter a code path that handles renegotiation it does not get executed for TLS 1.3. |
WIP. Disabled few tests that are TLS 1.2 specific. Renegotiation in SslConnection is now skipped for TLS 1.3. Replaced SNI keystore DSA certificate with RSA certificate. Signed-off-by: Simone Bordet <[email protected]>
@gregw I have pushed to branch There is one failing test in That almost all of Meanwhile I filed another couple of bugs to the JDK, but I guess it's unlikely they will be fixed for JDK 11. |
WIP. First full build achieved with JDK 11+28. Signed-off-by: Simone Bordet <[email protected]>
@sbordet for completeness can you add links to the jdk11 bugs you have opened here? |
Bugs opened since JDK 11+21 came out, reported by me and others: https://bugs.openjdk.java.net/browse/JDK-8207004 https://bugs.openjdk.java.net/browse/JDK-8207009 https://bugs.openjdk.java.net/browse/JDK-8207029 https://bugs.openjdk.java.net/browse/JDK-8207177 https://bugs.openjdk.java.net/browse/JDK-8207317 |
Small changes after review. Signed-off-by: Simone Bordet <[email protected]>
Modified the test case to pass in JDK 8, where the implementation throws SSLException, while in later JDKs throws SSLHandshakeException. Signed-off-by: Simone Bordet <[email protected]>
Issue #2711 - TLS 1.3 compliance. Disabled few tests that are TLS 1.2 specific. Renegotiation in SslConnection is now skipped for TLS 1.3. Replaced SNI keystore DSA certificate with RSA certificate. First full build achieved with JDK 11+28. Small changes after review. Modified the test case to pass in JDK 8, where the implementation throws SSLException, while in later JDKs throws SSLHandshakeException. Minor cleanup Signed-off-by: Greg Wilkins <[email protected]> Signed-off-by: Simone Bordet <[email protected]>
Have all issues around TLS 1.3 been resolved / can this issue be closed? I am asking because it has been announced as fixed for the latest release (9.4.12, see VERSION.txt). |
Jetty 9.4.12 supports TLS 1.3 with JDK 11.
|
Note that ssllabs does not seem to recognize TLS 1.3, see ssllabs/ssllabs-scan#651. |
Thanks for testing this before the Java 11 release, seems like TLS 1.3 will actually work due to this. :) |
@ijuma you're welcome 😃 |
The TLS 1.3 implementation landed in JDK 11-ea+21.
We need to make sure that
SslConnection
works well with TLS 1.3.In particular:
ClientHello
andServerHello
, all other TLS handshake messages are now encrypted, so they appear as "Application Data" in wireshark. This may not be a problem inSslConnection
, but needs to be verifiedSslConnection
(i.e. verify we don't assume that we cannot send application data until we read TLS handshake bytes from the server)SslHandshakeListener
are properly notifiedThe text was updated successfully, but these errors were encountered: