Heim >Java >javaLernprogramm >Wie kann „Schwerwiegende Warnung erhalten: handshake_failure' in vom Client autorisierten SSL-Verbindungen behoben werden?

Wie kann „Schwerwiegende Warnung erhalten: handshake_failure' in vom Client autorisierten SSL-Verbindungen behoben werden?

Linda Hamilton
Linda HamiltonOriginal
2024-12-20 14:15:10880Durchsuche

How to Resolve

Fehlerbehebung „Schwerwiegende Warnung erhalten: handshake_failure durch SSLHandshakeException“

Problemübersicht:

An Die SSL-Verbindung schlägt während der vom Client autorisierten SSL-Verbindung mit dem Fehler „handshake_failure“ fehl Kommunikation.

Mögliche Ursachen:

  • Inkompatible Cipher Suites
  • Inkompatible SSL-Versionen
  • Unvollständiger Zertifikat-Vertrauenspfad
  • Falscher Server Zertifikat

Debugging-Schritte:

Um die genaue Ursache des Handshake-Fehlers zu ermitteln, aktivieren Sie das Debuggen mit der Flagge -Djavax.net.debug=all.

Wichtige Erkenntnisse aus dem Debugging Ausgabe:

Keystore- und Truststore-Informationen:

Untersuchen Sie den aufgelisteten Keystore und Truststores, um sicherzustellen, dass sie die richtigen Zertifikate enthalten.

ClientHello:

Überprüfen Sie, ob die Verschlüsselungssammlungen in der ClientHello-Nachricht mit den angegebenen übereinstimmen in der Datei Merchant.properties.

ServerHello:

  • Cipher Suite: Überprüfen Sie, ob der Server eine unterstützte Cipher Suite ausgewählt hat.
  • Zertifikat: Untersuchen Sie die Zertifikatskette des Servers, um mögliche Vertrauenswürdigkeiten zu identifizieren Probleme.

Überprüfung des Vertrauenszertifikats:

  • Wenn das ServerHello kein Zertifikat oder die Meldung „Vertrauenswürdiges Zertifikat gefunden“ enthält, wird die Stammzertifizierungsstelle verwendet Möglicherweise fehlt das Zertifikat des Servers Truststore.

Lösung:

Basierend auf den Debugging-Ergebnissen können die folgenden Lösungen untersucht werden:

  • Stellen Sie sicher, dass die Client und Server verwenden kompatible Cipher-Suites und SSL-Versionen.
  • Importieren Sie die Zertifikat ausstellende Zertifizierungsstelle des Servers in die Vertrauensspeicher des Clients, falls erforderlich.
  • Überprüfen Sie, ob das Serverzertifikat für den beabsichtigten Hostnamen gültig ist.

Zusätzliche Überlegungen:

  • Der Trust Store enthält Zertifikate von Zertifizierungsstellen, denen die JVM vertraut. Das Hinzufügen nicht vertrauenswürdiger Zertifikate kann die Sicherheit gefährden.
  • Um die JSSE-Trace-Ausgabe zu verstehen, müssen Sie mit SSL/TLS-Protokollen vertraut sein. Ziehen Sie bei Bedarf externe Ressourcen zu Rate oder holen Sie sich professionelle Hilfe.

Das obige ist der detaillierte Inhalt vonWie kann „Schwerwiegende Warnung erhalten: handshake_failure' in vom Client autorisierten SSL-Verbindungen behoben werden?. 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