Heim >Java >javaLernprogramm >Warum erhalte ich nach dem Upgrade auf Java 1.7.0 den SSL-Handshake-Fehler „Unbekannter Name'?

Warum erhalte ich nach dem Upgrade auf Java 1.7.0 den SSL-Handshake-Fehler „Unbekannter Name'?

DDD
DDDOriginal
2024-12-12 18:51:10896Durchsuche

Why Am I Getting an

SSL-Handshake-Warnung: Unerkannter Namensfehler nach Java 1.7.0-Upgrade

Beim Upgrade auf Java 1.7.0 sind Benutzer darauf gestoßen ein „Unbekannter Name“-Fehler während SSL-Handshakes. Dieser Fehler ist auf die standardmäßige Aktivierung der SNI-Unterstützung (Server Name Indication) durch Java 7 zurückzuführen.

Bestimmte falsch konfigurierte Server reagieren jedoch auf diese Funktion mit dem oben genannten Fehler, was dazu führt, dass Javas Handhabung damit zu einem Hindernis wird.

Workaround-Lösungen:

1. SNI-Erweiterung deaktivieren:

Um dieses Problem vorübergehend zu umgehen, führen Sie Ihre Anwendung mit dem folgenden Befehl aus:

java -Djsse.enableSNIExtension=false yourClass

Alternativ können Sie die Eigenschaft im Java-Code vor allen SSL-Vorgängen festlegen:

System.setProperty("jsse.enableSNIExtension", "false");

Beachten Sie, dass diese Methode die SNI-Funktionalität global deaktiviert.

2. Hybrider Ansatz (Aktivierung von SNI beim Umgang mit Fehlkonfigurationen):

Um SNI zu nutzen und gleichzeitig falsch konfigurierte Server zu berücksichtigen, führen Sie die folgenden Schritte aus:

  1. Erstellen Sie einen SSLSocket mit dem vorgesehenen Hostnamen (sslsock ).
  2. Führen Sie sslsock.startHandshake() aus. Wenn bei der Verbindung der Fehler „Unbekannter Name“ auftritt, fahren Sie mit Schritt 3 fort.
  3. Versuchen Sie erneut, einen neuen SSLSocket ohne Hostnamen zu öffnen, wodurch SNI effektiv deaktiviert wird.

Webscarab-Proxy-Implementierung :

Dieser Ansatz wurde im Webscarab SSL-Proxy implementiert, um das Problem zu lösen effektiv.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich nach dem Upgrade auf Java 1.7.0 den SSL-Handshake-Fehler „Unbekannter Name'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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