On Thu, 27 Aug 2026 18:32:04 GMT, Alan Bateman <[email protected]> wrote:

>> 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).
>
> src/java.base/share/classes/javax/net/ssl/SSLEngine.java line 1508:
> 
>> 1506:      * @since 28
>> 1507:      */
>> 1508:     public String [] getSupportedNamedGroups() {
> 
> I assume this is returning a String[] instead of a List<String> or 
> Set<String> because many of the existing method do this. For completeness, 
> the API docs could say if the names are unique if the ordering is significant.
> 
> Can you confirm that returning an empty array wouldn't work for the "not 
> implemented by provider" case?

- Yes, returning `String[] ` for consistency with existing methods.
- Not sure if we should say that the names are unique and the ordering is 
significant: similar methods such as `getSupportedCipherSuites()` and 
`getSupportedProtocols()` don't document such requirement. While SunJSSE 
returns unique values in order of preference, other providers may choose to do 
otherwise. I need to think about it more.
- Please elaborate about the `empty array ` question, not sure I understand. 
Technically this call can return an empty array, that would be a valid return 
value.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/32560#discussion_r3875578564

Reply via email to