This is an automated email from the ASF dual-hosted git repository.

apupier pushed a commit to branch 
test-fix-CAMEL-24812-with-CAMEL-22996-dropJava17
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 9b4779e5b882f51eef5560c4d0aafb15281cf2c7
Author: Aurélien Pupier <[email protected]>
AuthorDate: Fri Oct 16 11:10:31 2026 +0200

    CAMEL-22996: remove reflection workaround from 
SSLContextParametersNamedGroupsListTest
    
    Co-authored-by: IBM Bob 2.2.1
    Signed-off-by: Aurélien Pupier <[email protected]>
---
 .../SSLContextParametersNamedGroupsListTest.java   |  20 +-
 .../support/jsse/SSLContextParametersTest.java     | 203 ++++++++++-----------
 2 files changed, 100 insertions(+), 123 deletions(-)

diff --git 
a/core/camel-core/src/test/java/org/apache/camel/support/jsse/SSLContextParametersNamedGroupsListTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/support/jsse/SSLContextParametersNamedGroupsListTest.java
index d5a67af1f8ed..51b8ba8043fe 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/support/jsse/SSLContextParametersNamedGroupsListTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/support/jsse/SSLContextParametersNamedGroupsListTest.java
@@ -16,17 +16,13 @@
  */
 package org.apache.camel.support.jsse;
 
-import java.lang.reflect.Method;
 import java.util.List;
 
 import javax.net.ssl.SSLEngine;
-import javax.net.ssl.SSLParameters;
 
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.EnabledForJreRange;
-import org.junit.jupiter.api.condition.JRE;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.assertj.core.api.Assertions.assertThat;
 
 /**
  * Blank, duplicate and not trimmed values in the named groups and signature 
schemes lists must not make the configured
@@ -34,13 +30,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
  */
 public class SSLContextParametersNamedGroupsListTest {
 
-    private static List<String> get(SSLParameters params, String name) throws 
Exception {
-        Method method = SSLParameters.class.getMethod(name);
-        return List.of((String[]) method.invoke(params));
-    }
-
     @Test
-    @EnabledForJreRange(min = JRE.JAVA_21)
     public void testNamedGroups() throws Exception {
         NamedGroupsParameters ngp = new NamedGroupsParameters();
         ngp.setNamedGroup(List.of("secp384r1", "secp384r1", "", " x25519"));
@@ -48,11 +38,11 @@ public class SSLContextParametersNamedGroupsListTest {
         scp.setNamedGroups(ngp);
 
         SSLEngine engine = scp.createSSLContext(null).createSSLEngine();
-        assertEquals(List.of("secp384r1", "x25519"), 
get(engine.getSSLParameters(), "getNamedGroups"));
+        assertThat(List.of(engine.getSSLParameters().getNamedGroups()))
+                .containsExactly("secp384r1", "x25519");
     }
 
     @Test
-    @EnabledForJreRange(min = JRE.JAVA_21)
     public void testSignatureSchemes() throws Exception {
         SignatureSchemesParameters ssp = new SignatureSchemesParameters();
         ssp.setSignatureScheme(List.of("ecdsa_secp256r1_sha256", " 
ecdsa_secp256r1_sha256", "", "rsa_pss_rsae_sha256"));
@@ -60,7 +50,7 @@ public class SSLContextParametersNamedGroupsListTest {
         scp.setSignatureSchemes(ssp);
 
         SSLEngine engine = scp.createSSLContext(null).createSSLEngine();
-        assertEquals(List.of("ecdsa_secp256r1_sha256", "rsa_pss_rsae_sha256"),
-                get(engine.getSSLParameters(), "getSignatureSchemes"));
+        assertThat(List.of(engine.getSSLParameters().getSignatureSchemes()))
+                .containsExactly("ecdsa_secp256r1_sha256", 
"rsa_pss_rsae_sha256");
     }
 }
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/support/jsse/SSLContextParametersTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/support/jsse/SSLContextParametersTest.java
index 80053adead2f..1fc5df73a1db 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/support/jsse/SSLContextParametersTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/support/jsse/SSLContextParametersTest.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.support.jsse;
 
-import java.lang.reflect.Method;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
@@ -26,7 +25,6 @@ import java.util.regex.Pattern;
 
 import javax.net.ssl.SSLContext;
 import javax.net.ssl.SSLEngine;
-import javax.net.ssl.SSLParameters;
 import javax.net.ssl.SSLServerSocket;
 import javax.net.ssl.SSLSocket;
 
@@ -751,7 +749,7 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         SSLContext controlContext = SSLContext.getInstance("TLSv1.3");
         controlContext.init(null, null, null);
         SSLEngine controlEngine = controlContext.createSSLEngine();
-        String[] controlNamedGroups = 
getNamedGroups(controlEngine.getSSLParameters());
+        String[] controlNamedGroups = 
controlEngine.getSSLParameters().getNamedGroups();
 
         // default - no named groups configured
         // When PQC groups are available (JDK 25+), auto-configuration 
reorders named groups
@@ -764,14 +762,14 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
 
         if (Arrays.asList(controlNamedGroups).contains("X25519MLKEM768")) {
             // PQC auto-configuration reorders groups with X25519MLKEM768 first
-            assertEquals("X25519MLKEM768", 
getNamedGroups(engine.getSSLParameters())[0]);
-            assertEquals("X25519MLKEM768", 
getNamedGroups(socket.getSSLParameters())[0]);
-            assertEquals("X25519MLKEM768", 
getNamedGroups(serverSocket.getSSLParameters())[0]);
+            assertEquals("X25519MLKEM768", 
engine.getSSLParameters().getNamedGroups()[0]);
+            assertEquals("X25519MLKEM768", 
socket.getSSLParameters().getNamedGroups()[0]);
+            assertEquals("X25519MLKEM768", 
serverSocket.getSSLParameters().getNamedGroups()[0]);
         } else {
             // No PQC available, should keep JVM defaults
-            assertArrayEquals(controlNamedGroups, 
getNamedGroups(engine.getSSLParameters()));
-            assertArrayEquals(controlNamedGroups, 
getNamedGroups(socket.getSSLParameters()));
-            assertArrayEquals(controlNamedGroups, 
getNamedGroups(serverSocket.getSSLParameters()));
+            assertArrayEquals(controlNamedGroups, 
engine.getSSLParameters().getNamedGroups());
+            assertArrayEquals(controlNamedGroups, 
socket.getSSLParameters().getNamedGroups());
+            assertArrayEquals(controlNamedGroups, 
serverSocket.getSSLParameters().getNamedGroups());
         }
 
         // empty ngp - sets empty list
@@ -782,9 +780,9 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         socket = (SSLSocket) context.getSocketFactory().createSocket();
         serverSocket = (SSLServerSocket) 
context.getServerSocketFactory().createServerSocket();
 
-        assertEquals(0, getNamedGroups(engine.getSSLParameters()).length);
-        assertEquals(0, getNamedGroups(socket.getSSLParameters()).length);
-        assertEquals(0, 
getNamedGroups(serverSocket.getSSLParameters()).length);
+        assertEquals(0, engine.getSSLParameters().getNamedGroups().length);
+        assertEquals(0, socket.getSSLParameters().getNamedGroups().length);
+        assertEquals(0, 
serverSocket.getSSLParameters().getNamedGroups().length);
 
         // explicit named group
         ngp.setNamedGroup(Collections.singletonList(controlNamedGroups[0]));
@@ -793,12 +791,12 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         socket = (SSLSocket) context.getSocketFactory().createSocket();
         serverSocket = (SSLServerSocket) 
context.getServerSocketFactory().createServerSocket();
 
-        assertEquals(1, getNamedGroups(engine.getSSLParameters()).length);
-        assertEquals(controlNamedGroups[0], 
getNamedGroups(engine.getSSLParameters())[0]);
-        assertEquals(1, getNamedGroups(socket.getSSLParameters()).length);
-        assertEquals(controlNamedGroups[0], 
getNamedGroups(socket.getSSLParameters())[0]);
-        assertEquals(1, 
getNamedGroups(serverSocket.getSSLParameters()).length);
-        assertEquals(controlNamedGroups[0], 
getNamedGroups(serverSocket.getSSLParameters())[0]);
+        assertEquals(1, engine.getSSLParameters().getNamedGroups().length);
+        assertEquals(controlNamedGroups[0], 
engine.getSSLParameters().getNamedGroups()[0]);
+        assertEquals(1, socket.getSSLParameters().getNamedGroups().length);
+        assertEquals(controlNamedGroups[0], 
socket.getSSLParameters().getNamedGroups()[0]);
+        assertEquals(1, 
serverSocket.getSSLParameters().getNamedGroups().length);
+        assertEquals(controlNamedGroups[0], 
serverSocket.getSSLParameters().getNamedGroups()[0]);
 
         // explicit named groups override filter
         FilterParameters filter = new FilterParameters();
@@ -809,12 +807,12 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         socket = (SSLSocket) context.getSocketFactory().createSocket();
         serverSocket = (SSLServerSocket) 
context.getServerSocketFactory().createServerSocket();
 
-        assertEquals(1, getNamedGroups(engine.getSSLParameters()).length);
-        assertEquals(controlNamedGroups[0], 
getNamedGroups(engine.getSSLParameters())[0]);
-        assertEquals(1, getNamedGroups(socket.getSSLParameters()).length);
-        assertEquals(controlNamedGroups[0], 
getNamedGroups(socket.getSSLParameters())[0]);
-        assertEquals(1, 
getNamedGroups(serverSocket.getSSLParameters()).length);
-        assertEquals(controlNamedGroups[0], 
getNamedGroups(serverSocket.getSSLParameters())[0]);
+        assertEquals(1, engine.getSSLParameters().getNamedGroups().length);
+        assertEquals(controlNamedGroups[0], 
engine.getSSLParameters().getNamedGroups()[0]);
+        assertEquals(1, socket.getSSLParameters().getNamedGroups().length);
+        assertEquals(controlNamedGroups[0], 
socket.getSSLParameters().getNamedGroups()[0]);
+        assertEquals(1, 
serverSocket.getSSLParameters().getNamedGroups().length);
+        assertEquals(controlNamedGroups[0], 
serverSocket.getSSLParameters().getNamedGroups()[0]);
     }
 
     @Test
@@ -823,7 +821,7 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         SSLContext controlContext = SSLContext.getInstance("TLSv1.3");
         controlContext.init(null, null, null);
         SSLEngine controlEngine = controlContext.createSSLEngine();
-        String[] controlNamedGroups = 
getNamedGroups(controlEngine.getSSLParameters());
+        String[] controlNamedGroups = 
controlEngine.getSSLParameters().getNamedGroups();
 
         // default - no filter, keeps defaults (or PQC-reordered defaults on 
JDK 25+)
         SSLContextParameters scp = new SSLContextParameters();
@@ -834,13 +832,13 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         SSLServerSocket serverSocket = (SSLServerSocket) 
context.getServerSocketFactory().createServerSocket();
 
         if (Arrays.asList(controlNamedGroups).contains("X25519MLKEM768")) {
-            assertEquals("X25519MLKEM768", 
getNamedGroups(engine.getSSLParameters())[0]);
-            assertEquals("X25519MLKEM768", 
getNamedGroups(socket.getSSLParameters())[0]);
-            assertEquals("X25519MLKEM768", 
getNamedGroups(serverSocket.getSSLParameters())[0]);
+            assertEquals("X25519MLKEM768", 
engine.getSSLParameters().getNamedGroups()[0]);
+            assertEquals("X25519MLKEM768", 
socket.getSSLParameters().getNamedGroups()[0]);
+            assertEquals("X25519MLKEM768", 
serverSocket.getSSLParameters().getNamedGroups()[0]);
         } else {
-            assertArrayEquals(controlNamedGroups, 
getNamedGroups(engine.getSSLParameters()));
-            assertArrayEquals(controlNamedGroups, 
getNamedGroups(socket.getSSLParameters()));
-            assertArrayEquals(controlNamedGroups, 
getNamedGroups(serverSocket.getSSLParameters()));
+            assertArrayEquals(controlNamedGroups, 
engine.getSSLParameters().getNamedGroups());
+            assertArrayEquals(controlNamedGroups, 
socket.getSSLParameters().getNamedGroups());
+            assertArrayEquals(controlNamedGroups, 
serverSocket.getSSLParameters().getNamedGroups());
         }
 
         // empty filter - no includes means no groups match
@@ -851,9 +849,9 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         socket = (SSLSocket) context.getSocketFactory().createSocket();
         serverSocket = (SSLServerSocket) 
context.getServerSocketFactory().createServerSocket();
 
-        assertEquals(0, getNamedGroups(engine.getSSLParameters()).length);
-        assertEquals(0, getNamedGroups(socket.getSSLParameters()).length);
-        assertEquals(0, 
getNamedGroups(serverSocket.getSSLParameters()).length);
+        assertEquals(0, engine.getSSLParameters().getNamedGroups().length);
+        assertEquals(0, socket.getSSLParameters().getNamedGroups().length);
+        assertEquals(0, 
serverSocket.getSSLParameters().getNamedGroups().length);
 
         // include all
         filter.getInclude().add(".*");
@@ -862,9 +860,9 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         socket = (SSLSocket) context.getSocketFactory().createSocket();
         serverSocket = (SSLServerSocket) 
context.getServerSocketFactory().createServerSocket();
 
-        assertArrayEquals(controlNamedGroups, 
getNamedGroups(engine.getSSLParameters()));
-        assertArrayEquals(controlNamedGroups, 
getNamedGroups(socket.getSSLParameters()));
-        assertArrayEquals(controlNamedGroups, 
getNamedGroups(serverSocket.getSSLParameters()));
+        assertArrayEquals(controlNamedGroups, 
engine.getSSLParameters().getNamedGroups());
+        assertArrayEquals(controlNamedGroups, 
socket.getSSLParameters().getNamedGroups());
+        assertArrayEquals(controlNamedGroups, 
serverSocket.getSSLParameters().getNamedGroups());
 
         // include all but exclude all (excludes win)
         filter.getExclude().add(".*");
@@ -873,9 +871,9 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         socket = (SSLSocket) context.getSocketFactory().createSocket();
         serverSocket = (SSLServerSocket) 
context.getServerSocketFactory().createServerSocket();
 
-        assertEquals(0, getNamedGroups(engine.getSSLParameters()).length);
-        assertEquals(0, getNamedGroups(socket.getSSLParameters()).length);
-        assertEquals(0, 
getNamedGroups(serverSocket.getSSLParameters()).length);
+        assertEquals(0, engine.getSSLParameters().getNamedGroups().length);
+        assertEquals(0, socket.getSSLParameters().getNamedGroups().length);
+        assertEquals(0, 
serverSocket.getSSLParameters().getNamedGroups().length);
 
         // include only x* groups (e.g. x25519, x448)
         filter.getInclude().clear();
@@ -886,16 +884,16 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         socket = (SSLSocket) context.getSocketFactory().createSocket();
         serverSocket = (SSLServerSocket) 
context.getServerSocketFactory().createServerSocket();
 
-        assertTrue(getNamedGroups(engine.getSSLParameters()).length >= 1);
-        for (String group : getNamedGroups(engine.getSSLParameters())) {
+        assertTrue(engine.getSSLParameters().getNamedGroups().length >= 1);
+        for (String group : engine.getSSLParameters().getNamedGroups()) {
             assertTrue(group.startsWith("x"), "Expected group starting with 
'x' but got: " + group);
         }
-        assertTrue(getNamedGroups(socket.getSSLParameters()).length >= 1);
-        for (String group : getNamedGroups(socket.getSSLParameters())) {
+        assertTrue(socket.getSSLParameters().getNamedGroups().length >= 1);
+        for (String group : socket.getSSLParameters().getNamedGroups()) {
             assertTrue(group.startsWith("x"), "Expected group starting with 
'x' but got: " + group);
         }
-        assertTrue(getNamedGroups(serverSocket.getSSLParameters()).length >= 
1);
-        for (String group : getNamedGroups(serverSocket.getSSLParameters())) {
+        assertTrue(serverSocket.getSSLParameters().getNamedGroups().length >= 
1);
+        for (String group : serverSocket.getSSLParameters().getNamedGroups()) {
             assertTrue(group.startsWith("x"), "Expected group starting with 
'x' but got: " + group);
         }
     }
@@ -918,8 +916,8 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
 
         assertArrayEquals(controlEngine.getEnabledCipherSuites(), 
engine.getEnabledCipherSuites());
         assertArrayEquals(controlEngine.getEnabledProtocols(), 
engine.getEnabledProtocols());
-        assertEquals(1, getNamedGroups(engine.getSSLParameters()).length);
-        assertEquals("x25519", getNamedGroups(engine.getSSLParameters())[0]);
+        assertEquals(1, engine.getSSLParameters().getNamedGroups().length);
+        assertEquals("x25519", engine.getSSLParameters().getNamedGroups()[0]);
     }
 
     @Test
@@ -928,7 +926,7 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         SSLContext controlContext = SSLContext.getInstance("TLSv1.3");
         controlContext.init(null, null, null);
         SSLEngine controlEngine = controlContext.createSSLEngine();
-        String[] controlSignatureSchemes = 
getSignatureSchemes(controlEngine.getSSLParameters());
+        String[] controlSignatureSchemes = 
controlEngine.getSSLParameters().getSignatureSchemes();
 
         // default - no signature schemes configured, should keep defaults
         SSLContextParameters scp = new SSLContextParameters();
@@ -938,9 +936,9 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         SSLSocket socket = (SSLSocket) 
context.getSocketFactory().createSocket();
         SSLServerSocket serverSocket = (SSLServerSocket) 
context.getServerSocketFactory().createServerSocket();
 
-        assertArrayEquals(controlSignatureSchemes, 
getSignatureSchemes(engine.getSSLParameters()));
-        assertArrayEquals(controlSignatureSchemes, 
getSignatureSchemes(socket.getSSLParameters()));
-        assertArrayEquals(controlSignatureSchemes, 
getSignatureSchemes(serverSocket.getSSLParameters()));
+        assertArrayEquals(controlSignatureSchemes, 
engine.getSSLParameters().getSignatureSchemes());
+        assertArrayEquals(controlSignatureSchemes, 
socket.getSSLParameters().getSignatureSchemes());
+        assertArrayEquals(controlSignatureSchemes, 
serverSocket.getSSLParameters().getSignatureSchemes());
 
         // empty ssp - sets empty list
         SignatureSchemesParameters ssp = new SignatureSchemesParameters();
@@ -950,9 +948,9 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         socket = (SSLSocket) context.getSocketFactory().createSocket();
         serverSocket = (SSLServerSocket) 
context.getServerSocketFactory().createServerSocket();
 
-        assertEquals(0, getSignatureSchemes(engine.getSSLParameters()).length);
-        assertEquals(0, getSignatureSchemes(socket.getSSLParameters()).length);
-        assertEquals(0, 
getSignatureSchemes(serverSocket.getSSLParameters()).length);
+        assertEquals(0, 
engine.getSSLParameters().getSignatureSchemes().length);
+        assertEquals(0, 
socket.getSSLParameters().getSignatureSchemes().length);
+        assertEquals(0, 
serverSocket.getSSLParameters().getSignatureSchemes().length);
 
         // explicit signature scheme
         
ssp.setSignatureScheme(Collections.singletonList("rsa_pss_rsae_sha256"));
@@ -961,12 +959,12 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         socket = (SSLSocket) context.getSocketFactory().createSocket();
         serverSocket = (SSLServerSocket) 
context.getServerSocketFactory().createServerSocket();
 
-        assertEquals(1, getSignatureSchemes(engine.getSSLParameters()).length);
-        assertEquals("rsa_pss_rsae_sha256", 
getSignatureSchemes(engine.getSSLParameters())[0]);
-        assertEquals(1, getSignatureSchemes(socket.getSSLParameters()).length);
-        assertEquals("rsa_pss_rsae_sha256", 
getSignatureSchemes(socket.getSSLParameters())[0]);
-        assertEquals(1, 
getSignatureSchemes(serverSocket.getSSLParameters()).length);
-        assertEquals("rsa_pss_rsae_sha256", 
getSignatureSchemes(serverSocket.getSSLParameters())[0]);
+        assertEquals(1, 
engine.getSSLParameters().getSignatureSchemes().length);
+        assertEquals("rsa_pss_rsae_sha256", 
engine.getSSLParameters().getSignatureSchemes()[0]);
+        assertEquals(1, 
socket.getSSLParameters().getSignatureSchemes().length);
+        assertEquals("rsa_pss_rsae_sha256", 
socket.getSSLParameters().getSignatureSchemes()[0]);
+        assertEquals(1, 
serverSocket.getSSLParameters().getSignatureSchemes().length);
+        assertEquals("rsa_pss_rsae_sha256", 
serverSocket.getSSLParameters().getSignatureSchemes()[0]);
 
         // explicit signature schemes override filter
         FilterParameters filter = new FilterParameters();
@@ -977,12 +975,12 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         socket = (SSLSocket) context.getSocketFactory().createSocket();
         serverSocket = (SSLServerSocket) 
context.getServerSocketFactory().createServerSocket();
 
-        assertEquals(1, getSignatureSchemes(engine.getSSLParameters()).length);
-        assertEquals("rsa_pss_rsae_sha256", 
getSignatureSchemes(engine.getSSLParameters())[0]);
-        assertEquals(1, getSignatureSchemes(socket.getSSLParameters()).length);
-        assertEquals("rsa_pss_rsae_sha256", 
getSignatureSchemes(socket.getSSLParameters())[0]);
-        assertEquals(1, 
getSignatureSchemes(serverSocket.getSSLParameters()).length);
-        assertEquals("rsa_pss_rsae_sha256", 
getSignatureSchemes(serverSocket.getSSLParameters())[0]);
+        assertEquals(1, 
engine.getSSLParameters().getSignatureSchemes().length);
+        assertEquals("rsa_pss_rsae_sha256", 
engine.getSSLParameters().getSignatureSchemes()[0]);
+        assertEquals(1, 
socket.getSSLParameters().getSignatureSchemes().length);
+        assertEquals("rsa_pss_rsae_sha256", 
socket.getSSLParameters().getSignatureSchemes()[0]);
+        assertEquals(1, 
serverSocket.getSSLParameters().getSignatureSchemes().length);
+        assertEquals("rsa_pss_rsae_sha256", 
serverSocket.getSSLParameters().getSignatureSchemes()[0]);
     }
 
     @Test
@@ -999,9 +997,9 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         SSLSocket socket = (SSLSocket) 
context.getSocketFactory().createSocket();
         SSLServerSocket serverSocket = (SSLServerSocket) 
context.getServerSocketFactory().createServerSocket();
 
-        assertNull(getSignatureSchemes(engine.getSSLParameters()));
-        assertNull(getSignatureSchemes(socket.getSSLParameters()));
-        assertNull(getSignatureSchemes(serverSocket.getSSLParameters()));
+        assertNull(engine.getSSLParameters().getSignatureSchemes());
+        assertNull(socket.getSSLParameters().getSignatureSchemes());
+        assertNull(serverSocket.getSSLParameters().getSignatureSchemes());
 
         // a filter cannot be applied as there are no default schemes to 
filter, so the defaults are kept (null)
         // instead of an empty list (which would fail every handshake)
@@ -1013,9 +1011,9 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         socket = (SSLSocket) context.getSocketFactory().createSocket();
         serverSocket = (SSLServerSocket) 
context.getServerSocketFactory().createServerSocket();
 
-        assertNull(getSignatureSchemes(engine.getSSLParameters()));
-        assertNull(getSignatureSchemes(socket.getSSLParameters()));
-        assertNull(getSignatureSchemes(serverSocket.getSSLParameters()));
+        assertNull(engine.getSSLParameters().getSignatureSchemes());
+        assertNull(socket.getSSLParameters().getSignatureSchemes());
+        assertNull(serverSocket.getSSLParameters().getSignatureSchemes());
         filter.getInclude().clear();
 
         // explicit schemes override filter - filter ignored when schemes are 
set
@@ -1033,7 +1031,7 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         engine = context.createSSLEngine();
 
         // explicit schemes take precedence over filter
-        assertEquals(4, getSignatureSchemes(engine.getSSLParameters()).length);
+        assertEquals(4, 
engine.getSSLParameters().getSignatureSchemes().length);
 
         // clear explicit schemes, keep filter
         scp.setSignatureSchemes(null);
@@ -1045,9 +1043,9 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         serverSocket = (SSLServerSocket) 
context.getServerSocketFactory().createServerSocket();
 
         // JDK defaults are null → the filter cannot be applied and the 
defaults are kept (not an empty array)
-        assertNull(getSignatureSchemes(engine.getSSLParameters()));
-        assertNull(getSignatureSchemes(socket.getSSLParameters()));
-        assertNull(getSignatureSchemes(serverSocket.getSSLParameters()));
+        assertNull(engine.getSSLParameters().getSignatureSchemes());
+        assertNull(socket.getSSLParameters().getSignatureSchemes());
+        assertNull(serverSocket.getSSLParameters().getSignatureSchemes());
     }
 
     @Test
@@ -1063,11 +1061,11 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         SSLSocket socket = (SSLSocket) 
context.getSocketFactory().createSocket();
         SSLServerSocket serverSocket = (SSLServerSocket) 
context.getServerSocketFactory().createServerSocket();
 
-        assertNotNull(getSignatureSchemes(engine.getSSLParameters()));
-        assertNotNull(getSignatureSchemes(socket.getSSLParameters()));
-        assertNotNull(getSignatureSchemes(serverSocket.getSSLParameters()));
+        assertNotNull(engine.getSSLParameters().getSignatureSchemes());
+        assertNotNull(socket.getSSLParameters().getSignatureSchemes());
+        assertNotNull(serverSocket.getSSLParameters().getSignatureSchemes());
 
-        int defaultSignatureSchemeNumber = 
getSignatureSchemes(engine.getSSLParameters()).length;
+        int defaultSignatureSchemeNumber = 
engine.getSSLParameters().getSignatureSchemes().length;
 
         // a filter cannot be applied as there are no default schemes to 
filter, so the defaults are kept (null)
         // instead of an empty list (which would fail every handshake)
@@ -1079,9 +1077,9 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         socket = (SSLSocket) context.getSocketFactory().createSocket();
         serverSocket = (SSLServerSocket) 
context.getServerSocketFactory().createServerSocket();
 
-        assertNull(getSignatureSchemes(engine.getSSLParameters()));
-        assertNull(getSignatureSchemes(socket.getSSLParameters()));
-        assertNull(getSignatureSchemes(serverSocket.getSSLParameters()));
+        assertNull(engine.getSSLParameters().getSignatureSchemes());
+        assertNull(socket.getSSLParameters().getSignatureSchemes());
+        assertNull(serverSocket.getSSLParameters().getSignatureSchemes());
         filter.getInclude().clear();
 
         // explicit schemes override filter - filter ignored when schemes are 
set
@@ -1099,7 +1097,7 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         engine = context.createSSLEngine();
 
         // explicit schemes take precedence over filter
-        assertEquals(4, getSignatureSchemes(engine.getSSLParameters()).length);
+        assertEquals(4, 
engine.getSSLParameters().getSignatureSchemes().length);
 
         // clear explicit schemes, keep filter - now filter applies to JDK 
defaults
         scp.setSignatureSchemes(null);
@@ -1110,9 +1108,9 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         socket = (SSLSocket) context.getSocketFactory().createSocket();
         serverSocket = (SSLServerSocket) 
context.getServerSocketFactory().createServerSocket();
 
-        assertEquals(defaultSignatureSchemeNumber, 
getSignatureSchemes(engine.getSSLParameters()).length);
-        assertEquals(defaultSignatureSchemeNumber, 
getSignatureSchemes(socket.getSSLParameters()).length);
-        assertEquals(defaultSignatureSchemeNumber, 
getSignatureSchemes(serverSocket.getSSLParameters()).length);
+        assertEquals(defaultSignatureSchemeNumber, 
engine.getSSLParameters().getSignatureSchemes().length);
+        assertEquals(defaultSignatureSchemeNumber, 
socket.getSSLParameters().getSignatureSchemes().length);
+        assertEquals(defaultSignatureSchemeNumber, 
serverSocket.getSSLParameters().getSignatureSchemes().length);
     }
 
     @Test
@@ -1134,16 +1132,16 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         assertArrayEquals(controlEngine.getEnabledCipherSuites(), 
engine.getEnabledCipherSuites());
         assertArrayEquals(controlEngine.getEnabledProtocols(), 
engine.getEnabledProtocols());
         // Named groups may be reordered by PQC auto-configuration, but same 
groups should be present
-        String[] controlGroups = 
getNamedGroups(controlEngine.getSSLParameters());
-        String[] engineGroups = getNamedGroups(engine.getSSLParameters());
+        String[] controlGroups = 
controlEngine.getSSLParameters().getNamedGroups();
+        String[] engineGroups = engine.getSSLParameters().getNamedGroups();
         if (controlGroups != null && 
Arrays.asList(controlGroups).contains("X25519MLKEM768")) {
             assertEquals("X25519MLKEM768", engineGroups[0]);
             assertEquals(controlGroups.length, engineGroups.length);
         } else {
             assertArrayEquals(controlGroups, engineGroups);
         }
-        assertEquals(1, getSignatureSchemes(engine.getSSLParameters()).length);
-        assertEquals("rsa_pss_rsae_sha256", 
getSignatureSchemes(engine.getSSLParameters())[0]);
+        assertEquals(1, 
engine.getSSLParameters().getSignatureSchemes().length);
+        assertEquals("rsa_pss_rsae_sha256", 
engine.getSSLParameters().getSignatureSchemes()[0]);
     }
 
     @Test
@@ -1237,14 +1235,14 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         SSLContext controlContext = SSLContext.getInstance("TLSv1.3");
         controlContext.init(null, null, null);
         SSLEngine controlEngine = controlContext.createSSLEngine();
-        String[] controlNamedGroups = 
getNamedGroups(controlEngine.getSSLParameters());
+        String[] controlNamedGroups = 
controlEngine.getSSLParameters().getNamedGroups();
         boolean pqcAvailable = controlNamedGroups != null
                 && 
Arrays.asList(controlNamedGroups).contains("X25519MLKEM768");
 
         SSLContextParameters scp = new SSLContextParameters();
         SSLContext context = scp.createSSLContext(null);
         SSLEngine engine = context.createSSLEngine();
-        String[] resultGroups = getNamedGroups(engine.getSSLParameters());
+        String[] resultGroups = engine.getSSLParameters().getNamedGroups();
 
         if (pqcAvailable) {
             // X25519MLKEM768 should be first
@@ -1272,8 +1270,8 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         SSLContext context = scp.createSSLContext(null);
         SSLEngine engine = context.createSSLEngine();
 
-        assertEquals(1, getNamedGroups(engine.getSSLParameters()).length);
-        assertEquals("secp256r1", 
getNamedGroups(engine.getSSLParameters())[0]);
+        assertEquals(1, engine.getSSLParameters().getNamedGroups().length);
+        assertEquals("secp256r1", 
engine.getSSLParameters().getNamedGroups()[0]);
     }
 
     @Test
@@ -1288,7 +1286,7 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         SSLContext context = scp.createSSLContext(null);
         SSLEngine engine = context.createSSLEngine();
 
-        for (String group : getNamedGroups(engine.getSSLParameters())) {
+        for (String group : engine.getSSLParameters().getNamedGroups()) {
             assertTrue(group.startsWith("secp"), "Expected group starting with 
'secp' but got: " + group);
         }
     }
@@ -1330,15 +1328,4 @@ public class SSLContextParametersTest extends 
AbstractJsseParametersTest {
         }
     }
 
-    // Reflection helpers for JDK 20+ 
SSLParameters.getNamedGroups()/getSignatureSchemes()
-    // These methods are not available with --release 17 compilation target
-    private static String[] getNamedGroups(SSLParameters params) throws 
Exception {
-        Method m = SSLParameters.class.getMethod("getNamedGroups");
-        return (String[]) m.invoke(params);
-    }
-
-    private static String[] getSignatureSchemes(SSLParameters params) throws 
Exception {
-        Method m = SSLParameters.class.getMethod("getSignatureSchemes");
-        return (String[]) m.invoke(params);
-    }
 }

Reply via email to