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
