# Who talks to whom: the key-exchange group each pairing actually negotiates (TLS 1.3, loopback)

=== client JDK 26  ->  server JDK 26
client offered : "named groups": [x25519, secp256r1, secp384r1, secp521r1, x448, ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192]
server selected: x25519
handshake complete: TLSv1.3 TLS_AES_256_GCM_SHA384

=== client JDK 27  ->  server JDK 27
client offered : "named groups": [X25519MLKEM768, x25519, secp256r1, secp384r1, secp521r1, x448, ffdhe2048, ffdhe3072, ffdhe4096]
server selected: X25519MLKEM768
handshake complete: TLSv1.3 TLS_AES_256_GCM_SHA384

=== client JDK 27  ->  server JDK 26
client offered : "named groups": [X25519MLKEM768, x25519, secp256r1, secp384r1, secp521r1, x448, ffdhe2048, ffdhe3072, ffdhe4096]
server selected: x25519
handshake complete: TLSv1.3 TLS_AES_256_GCM_SHA384

=== client JDK 26  ->  server JDK 27
client offered : "named groups": [x25519, secp256r1, secp384r1, secp521r1, x448, ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192]
server selected: x25519
handshake complete: TLSv1.3 TLS_AES_256_GCM_SHA384
