SSL-Handshake-Warnung: Unrecognized_Name-Fehler nach Java 1.7-Upgrade
Problembeschreibung:
Nachher Beim Upgrade auf Java 1.7 kann es vorkommen, dass Benutzer auf die Meldung „SSLProtocolException: Handshake-Warnung:“ stoßen. Fehler „unrecognized_name“ beim Herstellen von SSL-Verbindungen zu Webservern. Dieses Problem tritt typischerweise auf, wenn versucht wird, auf selbstsignierte oder falsch konfigurierte Serverzertifikate zuzugreifen.
Ursache:
Java 1.7 führt standardmäßig Unterstützung für Server Name Indication (SNI) ein. Während die meisten Webserver SNI effektiv verwalten, geben bestimmte falsch konfigurierte Server möglicherweise eine Warnung „Unerkannter Name“ im SSL-Handshake zurück, die von den meisten Clients außer Java ignoriert wird.
Lösung:
Um dieses Problem zu beheben, können Sie eine der folgenden Problemumgehungen anwenden:
Deaktivieren Sie SNI über Befehlszeile:
Führen Sie Ihre Anwendung mit der folgenden Befehlszeilenoption aus:
java -Djsse.enableSNIExtension=false yourClass
Dadurch wird SNI für die gesamte Anwendung global deaktiviert.
SNI im Java-Code deaktivieren:
Alternativ können Sie SNI programmgesteuert deaktivieren, indem Sie das festlegen „jsse.enableSNIExtension“-Eigenschaft vor allen SSL-Aktionen:
System.setProperty("jsse.enableSNIExtension", "false");
Umgang mit Warnungen zu nicht erkannten_Namen:
Wenn Sie falsch konfigurierte Server unterstützen und gleichzeitig SNI verwenden möchten:
Wichtiger Hinweis:
SNI deaktivieren kann bewährte Sicherheitspraktiken gefährden. Wenn möglich, konfigurieren Sie Ihre Server so, dass sie SNI korrekt unterstützen, um dieses Problem zu vermeiden.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich nach dem Upgrade auf Java 1.7 die Fehlermeldung „SSLProtocolException: Handshake-Alarm: unrecognized_name'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!