On Mon, 19 Oct 2026 18:12:27 GMT, Weijun Wang <[email protected]> wrote:
>> The enhancement implements the new RFC 9846-style support group selection on >> the server side (first mutual group matters) and change the supported-groups >> format. Specifically: >> >> 1. `SSLParameters.setNamedGroups` and the `jdk.tls.namedGroups` system >> property now recognize a *-prefix on a group name. >> 2. The prefix does not change the supported_groups extension. >> 3. On a TLS 1.3 client, usable starred groups determine the initial >> key_share entries. If no usable starred group remains, JSSE falls back to >> its existing automatic key-share selection. >> 4. SunJSSE’s default parameters contains 2 starred groups, which can be >> observed by `getNamedGroups`. >> 5. The server ignores the marker in its own configuration. >> 6. Server group selection now follows RFC 9846: choose the first mutually >> supported group according to the client’s supported_groups order, then sends >> ServerHello if its key share is present or HelloRetryRequest if not. >> >> No new API or system property defined for the new format. The existing >> methods and system property are already called a lot by both JSSE itself and >> an application. The default value of the system property is empty which >> gives each provider the chance to define it itself. >> >> --------- >> - [x] I confirm that I make this contribution in accordance with the >> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). > > Weijun Wang has updated the pull request incrementally with one additional > commit since the last revision: > > no star in default groups src/java.base/share/classes/javax/net/ssl/SSLParameters.java line 978: > 976: // Avoid "name" and "*name" both specified. > 977: if (namedGroup.startsWith("*")) { > 978: namedGroup = namedGroup.substring(1); I think we should check duplicates case-insensitively here, so we don't send duplicate key shares for the same group (TLS prohibits this) on something like this: parameters.setNamedGroups( new String[] {"*x25519", "*X25519"}); `jdk.tls.namedGroups` also should check for duplicates to handle `Djdk.tls.namedGroups=*x25519,*X25519` ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/32586#discussion_r4318047224
