Warum wird Extended Mastersecret nicht angeboten, wobei JSSE mit OpenJDK17 (in Container unter K8S, CRI-O) verwendet wirJava

Java-Forum
Anonymous
 Warum wird Extended Mastersecret nicht angeboten, wobei JSSE mit OpenJDK17 (in Container unter K8S, CRI-O) verwendet wir

Post by Anonymous »

Ich habe ein einfaches Java -Testprogramm, das eine SSL -Verbindung zu einem Server öffnet. Dies befindet sich auf einem Redhat Linux -System, eigentlich ein UBI 9.5 -Container. Der Container läuft auf einem RHEL 9.5-System mit Krypto-Policy-Set auf FIPS: No-Enforce-EMs. Ich habe den Container ausprobiert, der mit Kryptopolitik-Set auf FIPs und FIPs erstellt wurde: No-Enforce-EMS. Um eine Verbindung von RH Linux 9.2 herzustellen oder sich an ältere Systeme oder so zu verbinden. Für dieses Debuggen versuche ich, eine Verbindung zu einem Server im Container selbst herzustellen. Das JVM ist OpenJDK17 < /p>
Ich verstehe, dass es sich bei der Krypto-Richtlinie um FIPs oder FIPs handelt: No-Worforce-EMs, die ein Kunde EMS anbietet. Der Java -Client, der JSSE verwendet, sollte EMS unterstützen, was seit JDK 11 unterstützt wird. < /P>
(1) Warum bietet der Java -Client die EMS -Erweiterung nicht an? Aber der Java -Test -Client wird mit debuggierenden Berichten ausgeführt: < /p>

Code: Select all

java -Djavax.net.debug=ssl,handshake -cp . SSLTest 127.0.0.1 8095

ExtendedMasterSecretExtension.java:123|Ignore unavailable extended_master_secret extension
< /code>
Einige weitere Informationen: < /p>
$ java --version
openjdk 17.0.14 2025-01-21 LTS
OpenJDK Runtime Environment (Red_Hat-17.0.14.0.7-1) (build 17.0.14+7-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-17.0.14.0.7-1) (build 17.0.14+7-LTS, mixed mode,
sharing)
$ update-crypto-policies --show
FIPS
$ cat /etc/redhat-release
Red Hat Enterprise Linux release 9.5 (Plow)
< /code>
Das von mir verwendete Testprogramm ist unten.  Ich kompile es und übertrage die Klassendatei in den Container.  Es benötigt auch einen SSL -Server.  Ich kann diese Frage mit einigen Befehlen aktualisieren, um einen SSL-Server auszuführen, aber ich hoffe, dass nur jemand eine Erklärung hat.import javax.net.ssl.*;

public class SSLTest {
public static void main(String[] args) {
if (args.length != 2) {
System.err.println("Usage: java -cp . SSLTest crowd 8095");
}
var host = args[0];
var port = Integer.parseInt(args[1]);

try {
System.out.println("Connecting to " + host + ":" + port);
// Use the default SSL socket factory (ensure your truststore is set up if needed)
SSLSocketFactory factory = (SSLSocketFactory) SSLSocketFactory.getDefault();
try (SSLSocket socket = (SSLSocket) factory.createSocket(host, port)) {
// Start the handshake manually to see detailed debug info.
socket.startHandshake();
System.out.println("SSL handshake completed successfully.");
}
} catch (Exception e) {
System.err.println("SSL handshake failed: " + e.getMessage());
e.printStackTrace();
}
}
}
< /code>
Ergibt das so lange die Clienthello unten.  Ich habe die Pläne reduziert, um den Clienthello zu [url=viewtopic.php?t=15143]vermeiden[/url] und die Cipher-Suite und die Signatur zu entsprechen, die OpenSSL S_CLIENT gelingt.[root@ubi9fips-ssl-test-9-5 /]# java -Djdk.tls.client.protocols=TLSv1.2 -Djavax.net.debug=ssl,handshake  -Djdk.tls.signatureSchemes=rsa_pkcs1_sha384 -Djdk.tls.client.cipherSuites=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384    -cp .  SSLTest 127.0.0.1 4433 2>&1



javax.net.ssl|DEBUG|10|main|2025-02-25 21:19:07.913 GMT|SupportedGroupsExtension.java:365|Ignore inactive or disabled named group: ffdhe6144
javax.net.ssl|DEBUG|10|main|2025-02-25 21:19:07.913 GMT|SupportedGroupsExtension.java:365|Ignore inactive or disabled named group: ffdhe8192
javax.net.ssl|INFO|10|main|2025-02-25 21:19:07.913 GMT|AlpnExtension.java:182|No available application protocols
javax.net.ssl|DEBUG|10|main|2025-02-25 21:19:07.913 GMT|SSLExtensions.java:272|Ignore, context unavailable extension: application_layer_protocol_negotiation
javax.net.ssl|DEBUG|10|main|2025-02-25 21:19:07.914 GMT|ExtendedMasterSecretExtension.java:123|Ignore unavailable extended_master_secret extension
javax.net.ssl|DEBUG|10|main|2025-02-25 21:19:07.914 GMT|SSLExtensions.java:272|Ignore, context unavailable extension: extended_master_secret
javax.net.ssl|DEBUG|10|main|2025-02-25 21:19:07.914 GMT|SessionTicketExtension.java:353|Stateless resumption supported
javax.net.ssl|DEBUG|10|main|2025-02-25 21:19:07.920 GMT|ClientHello.java:639|Produced ClientHello handshake message (
"ClientHello": {
"client version"      : "TLSv1.2",
"random"              : "6CBDF2CC3EA1A3DCBC9318AE39E2EE1B0CD2B1F4F5B6B8FD05EB5B5640FC2A81",
"session id"          : "",
"cipher suites"       : "[TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384(0xC030)]",
"compression methods" : "00",
"extensions"          : [
"status_request (5)": {
"certificate status type": ocsp
"OCSP status request": {
"responder_id": 
"request extensions": {

}
}
},
"supported_groups (10)": {
"versions": [secp256r1, secp384r1, secp521r1]
},
"ec_point_formats (11)": {
"formats": [uncompressed]
},
"status_request_v2 (17)": {
"cert status request": {
"certificate status type": ocsp_multi
"OCSP status request": {
"responder_id": 
"request extensions": {

}
}
}
},
"session_ticket (35)": {

},
"signature_algorithms (13)": {
"signature schemes": [ecdsa_secp256r1_sha256, ecdsa_secp384r1_sha384, ecdsa_secp521r1_sha512, rsa_pss_rsae_sha256, rsa_pss_rsae_sha384, rsa_pss_rsae_sha512, rsa_pss_pss_sha256, rsa_pss_pss_sha384, rsa_pss_pss_sha512, rsa_pkcs1_sha256, rsa_pkcs1_sha384, rsa_pkcs1_sha512, ecdsa_sha224, rsa_sha224]
},
"supported_versions (43)": {
"versions": [TLSv1.2]
},
"signature_algorithms_cert (50)": {
"signature schemes": [ecdsa_secp256r1_sha256, ecdsa_secp384r1_sha384, ecdsa_secp521r1_sha512, rsa_pss_rsae_sha256, rsa_pss_rsae_sha384, rsa_pss_rsae_sha512, rsa_pss_pss_sha256, rsa_pss_pss_sha384, rsa_pss_pss_sha512, rsa_pkcs1_sha256, rsa_pkcs1_sha384, rsa_pkcs1_sha512, ecdsa_sha224, rsa_sha224]
},
"renegotiation_info (65,281)": {
"renegotiated connection": []
}
]
}
)
javax.net.ssl|DEBUG|10|main|2025-02-25 21:19:07.922 GMT|Alert.java:238|Received alert message (
"Alert": {
"level"      : "fatal",
"description": "handshake_failure"
}
)
javax.net.ssl|ERROR|10|main|2025-02-25 21:19:07.922 GMT|TransportContext.java:375|Fatal (HANDSHAKE_FAILURE): Received fatal alert: handshake_failure
Und obwohl die Durchsetzung von EMS nicht festgelegt ist, fällt der Handschlag unmittelbar nach dem Hallo aus.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post