mirrored from https://www.bouncycastle.org/repositories/bc-java
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Open
Labels
enhancementNew feature or requestNew feature or request
Description
When Configuring BCJSSE with the default configuration with Java 25 ML-KEM Named Groups are logged as disabled and are not available.
@Test
void pqcNamedGroups() throws NoSuchAlgorithmException, IOException {
System.setProperty("jdk.tls.namedGroups", "X25519MLKEM768");
Security.insertProviderAt(new BouncyCastleJsseProvider("default"), 1);
Security.addProvider(new BouncyCastleProvider());
try(final Socket socket = SSLContext.getDefault().getSocketFactory().createSocket()) {
}
}When running this with Java 25 the following is logged
INFO: Found string system property [jdk.tls.namedGroups]: X25519MLKEM768
Feb 06, 2026 8:28:23 AM org.bouncycastle.jsse.provider.NamedGroupInfo createCandidates
WARNING: 'jdk.tls.namedGroups' contains disabled NamedGroup: X25519MLKEM768
Feb 06, 2026 8:28:23 AM org.bouncycastle.jsse.provider.NamedGroupInfo createCandidates
SEVERE: 'jdk.tls.namedGroups' contained no usable NamedGroup values
If pass in BouncyCastleProvider for the Provider into BCJSSE, it works as expected.
@Test
void pqcNamedGroups() throws NoSuchAlgorithmException, IOException {
System.setProperty("jdk.tls.namedGroups", "X25519MLKEM768");
Security.insertProviderAt(new BouncyCastleJsseProvider(new BouncyCastleProvider()), 1);
try(final Socket socket = SSLContext.getDefault().getSocketFactory().createSocket()) {
}
}I suspect this is due to the ML-KEM support that was added in Java 24
and the implementation coming from SunJCE is not compatible with BCJSSE.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request