Was tun, wenn eine javax.net.ssl.SSLHandshakeException angezeigt wird: Remote-Host hat während des Handshakes im IBM JDK die Verbindung geschlossen

Hintergrund

Wenn Sie versuchen, mit einer Anwendung, die IBM JDK verwendet, wie z. B. WebSphere Liberty, auf eine externe HTTPS-Site zuzugreifen, wird je nach Site möglicherweise die folgende Meldung angezeigt.

R javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
R  at com.ibm.jsse2.av.a(av.java:599)
R  at com.ibm.jsse2.av.i(av.java:869)
R  at com.ibm.jsse2.av.a(av.java:19)
R  at com.ibm.jsse2.av.startHandshake(av.java:672)
R  at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:396)
R  at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:355)
R  at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:14

Auf der anderen Seite kann das Oracle JDK funktionieren.

Ursache

Das IBM JDK handelt standardmäßig die Kommunikation mit TLSv1.0 aus. Wenn die andere Partei jedoch so eingestellt ist, dass sie nichts anderes als TLSv1.2 zulässt (meistens heutzutage), schlägt die Aushandlung fehl und die obige Fehlermeldung wird angezeigt.

Korrespondenz

Legen Sie die folgenden drei Systemeigenschaften fest. Dann wird es mit TLSv1.2 ausgehandelt. Diese Option wurde in JDK 1.8 bestätigt.

jvm.Optionen usw.


-Dcom.ibm.jsse2.overrideDefaultTLS=true
-Djdk.tls.client.protocols=TLSv1.2
-Dhttps.protocols=TLSv1.2

Recommended Posts

Was tun, wenn eine javax.net.ssl.SSLHandshakeException angezeigt wird: Remote-Host hat während des Handshakes im IBM JDK die Verbindung geschlossen
Was tun, wenn in GlassFish eine java.io.IOException auftritt?
Was tun, wenn in Docker ein gcc-Fehler auftritt?
Was tun, wenn Sie in Thymeleaf Layout eine groovige Warnung erhalten?
Was tun, wenn in bind.pry eine falsche Anzahl von Argumenten angezeigt wird?
Was tun, wenn Sie den Text eines Elements in Selen nicht abrufen können?
Was tun, wenn im Testcode der Steuereinheit in Rails der Fehler "302" angezeigt wird?
Was tun, wenn während des Rails-Testcodes ein Fehler bei der Standardauthentifizierung auftritt?
Was tun, wenn Sie Ihr Root-Passwort unter CentOS7 vergessen haben?
[Maven] Was tun, wenn Sie aufgefordert werden, ein Glas, das sich nicht im Remote-Repository befindet, in den Krieg aufzunehmen?
Was tun, wenn Sie in Eclipse eine JRE auswählen und "Die ausgewählte JRE unterstützt die aktuelle Konformitätsstufe 11 nicht" erhalten?
Was tun, wenn beim Versuch, mit Eclipse zu erstellen, ein Fehler in der gemeinsam genutzten JNI-Bibliothek auftritt?
Was tun, wenn auf GitHub eine MiniMagick-Sicherheitsanfälligkeitswarnung angezeigt wird?
Was tun, wenn der Vorgang nicht zulässig ist, wenn ein Befehl im Terminal ausgeführt wird?
Was tun, wenn Um die fehlende Version zu installieren, führen Sie `gem install bundler: 2.1.4` aus
Was tun, wenn die Meldung "Ein Server läuft bereits" angezeigt wird. Fehler beim Versuch, den Rails-Server zu starten
Was tun, wenn Sie versehentlich ein Modell erstellen?
Was tun, wenn Sie die Mastertabelle nach dem Importieren eines Projekts in Eclipse nicht in einer Datei speichern konnten?
Was tun, wenn beim Versuch, Eclipse unter Java 9 auszuführen, ein NoClassDefFoundError angezeigt wird?
[Lösung] Was tun, wenn ein Docker-Fehler angezeigt wird? FEHLER: Unter Unix: ///var/run/docker.sock kann keine Verbindung zum Docker-Dämon hergestellt werden. Wird der Docker-Dämon ausgeführt?
Was tun, wenn in Rails 6.0 die Warnung "Der Eindeutigkeitsprüfer erzwingt in Rails 6.1 keinen Vergleich zwischen Groß- und Kleinschreibung mehr erzwingt" angezeigt wird
Was tun, wenn Sie das JDK, das Sie nach der Migration von bash nach zsh unter macOS in SDKMAN eingefügt haben, nicht finden können?
Was tun, wenn der Befehl Rails unbrauchbar wird?
[Rails] Was tun, wenn Sie versehentlich eine Bundle-Installation in einer Produktionsumgebung in Ihrer lokalen Umgebung durchführen?
[Rails Tutorial Kapitel 2] Was tun, wenn Sie einen Fehlern im Spaltennamen machen?
[Schienen] Was tun, wenn mit der Fehlermethode keine Fehlermeldung angezeigt wird?
So erstellen Sie ein Glas mit dem alten Hadoop (hadoop-core-0.20.2-cdh3u6) in Gradle: (Was tun, wenn Sie ZIP nicht erweitern können?)
Was tun, wenn die Rails-Seite im Rails-Lernprogramm 1.3.2 nicht angezeigt wird?
Was tun, wenn Cloud 9 im Rails-Lernprogramm voll ist?
Was tun, wenn Sie sich über OpenSSL mit pyenv install ärgern?
Was tun bei Problem während der Inhaltsunterstützung?
[Rails] Was tun, wenn Sie mit form_with keine Parameter abrufen können?
Was tun, wenn Sie eine [HTTP-Anforderung hat zu lange gedauert] Fehler in Docker.
Was tun, wenn das Präfix c in JSP nicht gebunden ist?
Was tun, wenn Sie gem'bcrypt 'in Ihre Gemfile eingeben und bei der Bundle-Installation eine Fehlermeldung erhalten?
Was tun, wenn Sie das Plug-In nicht vom Eclipse Marketplace installieren können?
Was tun, wenn das von refile gepostete Bild nach dem Einstellen der 404-Fehlerseite in Rails verschwindet?
Was tun, wenn Ihnen der von swagger-codegen-cli generierte Code nicht gefällt?
Was tun, wenn in CircleCI der Fehler zu lang ohne Ausgabe (über 10 m0s) angezeigt wird?
[Rails] Was tun, wenn die Fehlermeldung "JavaScript-Laufzeit konnte nicht gefunden werden?" Angezeigt wird, wenn der Befehl "Rails" in Catalina ausgeführt wird
Was tun, wenn Sie aktiviert haben? Verwenden Sie die WSL2-basierte Engine in Docker Desktop mit unzureichender WSL2-Installation
So übersetzen Sie die Fehlermeldung ins Japanische (Was tun, wenn Sie sich aus irgendeinem Grund nicht anmelden können)
Was tun, wenn Sie Gemfile oder .bundle / directory nicht finden konnten?
Was tun, wenn Sie das mit bootstrap-select erstellte Auswahlfeld nicht aktivieren können?
Was tun, wenn die Änderungen nicht in der JAR-Manifestdatei berücksichtigt werden?