Heim > Java > javaLernprogramm > Wie kann „sun.security.provider.certpath.SunCertPathBuilderException: gültiger Zertifizierungspfad zum angeforderten Ziel konnte nicht gefunden werden' behoben werden?

Wie kann „sun.security.provider.certpath.SunCertPathBuilderException: gültiger Zertifizierungspfad zum angeforderten Ziel konnte nicht gefunden werden' behoben werden?

Patricia Arquette
Freigeben: 2024-12-21 19:18:12
Original
412 Leute haben es durchsucht

How to Resolve

Auflösung der Ausnahme „sun.security.provider.certpath.SunCertPathBuilderException: Gültiger Zertifizierungspfad zum angeforderten Ziel konnte nicht gefunden werden“

Der bereitgestellte Code versucht, eine Datei von einem HTTPS-Server herunterzuladen, stößt jedoch auf einen zertifikatsbezogenen Fehler. Dieser Fehler tritt häufig auf, wenn der Server ein selbstsigniertes Zertifikat vorlegt, dem die JVM des Clients nicht vertraut.

Um dieses Problem zu beheben, können Sie den Client anweisen, dem Zertifikat des Servers zu vertrauen. So geht's:

Rufen Sie das Serverzertifikat mit einem Browser ab

  1. Besuchen Sie den HTTPS-Server in Ihrem Browser.
  2. Klicken Sie auf das Schlosssymbol Klicken Sie auf die Adressleiste und sehen Sie sich die Zertifikatsdetails an.
  3. Exportieren Sie das Zertifikat als Datei, normalerweise mit einer .cer- oder .cer-Datei .crt-Erweiterung.

Fügen Sie das Zertifikat zum Truststore der JVM hinzu

Es gibt zwei Möglichkeiten, dies zu tun:

  • Bearbeiten JAVA_HOME/jre/lib/security/cacerts:

    1. Öffnen Sie die cacerts-Datei in /JAVA_HOME/jre/lib/security/ mit einem Java-Keytool-Dienstprogramm.
    2. Importieren Sie das exportierte Zertifikat mit dem Befehl -importcert. Zum Beispiel:

      keytool -keystore cacerts -importcert -file my_server_cert.cer
      Nach dem Login kopieren
  • Verwenden Sie den Parameter -Djavax.net.ssl.trustStore:

    Sie können Geben Sie einen anderen Truststore-Speicherort an, indem Sie das Java-System festlegen Eigenschaft:

    java -Djavax.net.ssl.trustStore=/path/to/my_truststore
    Nach dem Login kopieren

Hinweis: Stellen Sie sicher, dass Sie die richtige JDK/JRE-Version verwenden, da diese den Speicherort der cacerts-Datei beeinflusst.

Indem Sie dem Zertifikat vertrauen, autorisieren Sie den Client, mit dem Server zu kommunizieren, auch wenn keine vertrauenswürdige Zertifizierungsstelle vorhanden ist. Es ist jedoch wichtig zu beachten, dass dies Sicherheitsrisiken mit sich bringen kann, wenn das Zertifikat des Servers nicht vertrauenswürdig ist.

Das obige ist der detaillierte Inhalt vonWie kann „sun.security.provider.certpath.SunCertPathBuilderException: gültiger Zertifizierungspfad zum angeforderten Ziel konnte nicht gefunden werden' behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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