Main changes:

- Adding `(SSLEngine | SSLSocket | SSLServerSocket).getSupportedNamedGroups()` 
public API methods.
- Adding `ExtendedSSLSession.getNegotiatedNamedGroup()` public API method.

Additional side-issues being addressed:

- Fixing a subtle bug in the implementation in JFR TLSHandshakeEvent: the event 
wasn't recorded on the client side for the TLSv1.2 resumed session (abbreviated 
handshake) and on the server side for TLSv1.2 full handshake. For a resumed 
handshake the client produces the last Finished in TLSv1.2, unlike the full 
handshake where the server produces the last Finished. In TLSv1.3 the client 
produces the last Finished for both resumed and full handshake.
- Repurpose currently unused NamedGroup.namesOf() method

---------
- [x] I confirm that I make this contribution in accordance with the [OpenJDK 
Interim AI Policy](https://openjdk.org/legal/ai).

-------------

Commit messages:
 - TLSv1.2 uses ephemeral elliptic-curve key exchange by default
 - Repurpose unused NamedGroup.namesOf() method
 - Minor test changes
 - Test improvements
 - More unit tests
 - Add SSLSocket unit test
 - Restore recordEvent signature
 - Code re-arrangement
 - Initial

Changes: https://git.openjdk.org/jdk/pull/32560/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=32560&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8388519
  Stats: 920 lines in 15 files changed: 850 ins; 52 del; 18 mod
  Patch: https://git.openjdk.org/jdk/pull/32560.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/32560/head:pull/32560

PR: https://git.openjdk.org/jdk/pull/32560

Reply via email to