Heim > Java > javaLernprogramm > Warum erhalte ich nach dem Upgrade auf Java 1.7 die Fehlermeldung „SSLProtocolException: Handshake-Alarm: unrecognized_name'?

Warum erhalte ich nach dem Upgrade auf Java 1.7 die Fehlermeldung „SSLProtocolException: Handshake-Alarm: unrecognized_name'?

Barbara Streisand
Freigeben: 2024-12-04 07:01:15
Original
1007 Leute haben es durchsucht

Why Am I Getting an

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
Nach dem Login kopieren

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");
Nach dem Login kopieren

Umgang mit Warnungen zu nicht erkannten_Namen:

Wenn Sie falsch konfigurierte Server unterstützen und gleichzeitig SNI verwenden möchten:

  1. Erstellen Sie einen SSLSocket mit dem gewünschten Host
  2. Versuchen Sie, einen Handshake zu initiieren (sslsock.startHandshake()).
  3. Wenn der Fehler „unrecognized_name“ auftritt, deaktivieren Sie SNI, indem Sie einen neuen SSLSocket ohne Hostnamen erstellen.

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage