Gültiger Zertifizierungspfad zum angeforderten Ziel konnte nicht gefunden werden
Beim Herunterladen einer Datei von einem HTTPS-Server über Java kann der folgende Fehler auftreten :
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Den Fehler verstehen
Dies Der Fehler weist auf ein Problem mit der Client-Server-Authentifizierung hin. HTTPS-Server verwenden Zertifikate, um eine sichere Verbindung herzustellen. Der Client (Java-Programm) muss dem Zertifikat des Servers vertrauen, um mit dem Download fortzufahren.
Mögliche Ursache: Server verfügt über ein selbstsigniertes Zertifikat
Selbstsignierte Zertifikate sind nicht von einer vertrauenswürdigen Behörde ausgestellt. Der Standard-Truststore von Java enthält diese Zertifikate nicht, was zu einem Authentifizierungsfehler führt.
Lösung
Um die Client-Server-Authentifizierung zu ignorieren, können Sie das Zertifikat des Servers zum Java hinzufügen Vertrauensspeicher. So geht's:
1. Erhalten Sie das Zertifikat:
2. Fügen Sie das Zertifikat zum Trust Store hinzu:
Es gibt zwei Möglichkeiten, dies zu tun:
a. Mit keytool:
keytool -import -trustcacerts -alias myalias -file certificate.cer
b. Verwenden des Parameters -D:
-Djavax.net.ssl.trustStore=mytruststore.jks
3. Ersetzen Sie „certificate.cer“ und „mytruststore.jks“ durch die tatsächlichen Dateinamen.
Nachdem Sie das Zertifikat zum Trust Store hinzugefügt haben, sollte Ihr Java-Programm in der Lage sein, die Datei ohne Authentifizierungsfehler vom HTTPS-Server herunterzuladen .
Das obige ist der detaillierte Inhalt vonWarum schlägt mein Java-Programm beim Herunterladen von HTTPS-Dateien fehl mit der Fehlermeldung „Gültiger Zertifizierungspfad zum angeforderten Ziel konnte nicht gefunden werden'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!