Heim > Java > javaLernprogramm > Hauptteil

Wie behebt man den Fehler „java.security.cert.CertificateException: Keine alternativen Antragstellernamen vorhanden'?

Patricia Arquette
Freigeben: 2024-11-19 01:31:02
Original
305 Leute haben es durchsucht

How to Fix the

Behebung des Fehlers „java.security.cert.CertificateException: Keine alternativen Antragstellernamen vorhanden“

Bei der Nutzung von Webdiensten über HTTPS mit Java Bei Clients tritt möglicherweise der Fehler „java.security.cert.CertificateException: Keine alternativen Antragstellernamen vorhanden“ auf. Um dieses Problem zu beheben, befolgen Sie diese Schritte sorgfältig:

  1. Besorgen Sie sich das Zertifikat des Servers: Führen Sie den Befehl openssl s_client -showcerts -connect AAA.BBB.CCC.DDD:9443 > certs.txt, um das Zertifikat des Servers abzurufen.
  2. Zertifikatinhalt extrahieren: Suchen Sie den Abschnitt von „certs.txt“ zwischen -----BEGIN CERTIFICATE----- und - ----ENDE ZERTIFIKAT----- und speichern Sie es in einer separaten Datei.
  3. Ändern Sie das Zertifikat (optional): Aktualisieren Sie bei Bedarf den Namen des Zertifikats, damit er mit der IP-Adresse übereinstimmt des Servers (AAA.BBB.CCC.DDD). Das Ändern des Zertifikats wird jedoch nur empfohlen, wenn Sie die Kontrolle über den Server haben.
  4. Zertifikat importieren: Verwenden Sie den Befehl keytool, um das geänderte Zertifikat in Ihren Keystore zu importieren. Beispiel: keytool -importcert -file fileWithModifiedCertificate -keystore mykeystore.
  5. HTTPS-Prüfungen deaktivieren (nur zu Testzwecken): Wenn Sie den Dienst zu Testzwecken nutzen und keine sichere Kommunikation benötigen, Sie können HTTPS-Prüfungen vorübergehend deaktivieren, indem Sie der Client-Klasse Code hinzufügen, der die Zertifikatsvalidierung und Hostnamenüberprüfung umgeht. Diese Lösung wird nicht für den Produktionseinsatz empfohlen.

Alternativ können Sie den Vorschlag aus der ähnlichen Frage verwenden, der besagt, dass Sie stattdessen seinen Hostnamen verwenden sollten, wenn Sie den Server nicht kontrollieren. Dies liegt daran, dass das Zertifikat möglicherweise einen CN (Common Name) enthält, der mit dem Hostnamen übereinstimmt.

Beachten Sie, dass diese Schritte dazu dienen, das spezifische Problem fehlender alternativer Antragstellernamen im Serverzertifikat zu beheben. Abhängig von Ihrer Umgebung und dem spezifischen Dienst, den Sie nutzen, können Abweichungen oder zusätzliche Konfigurationen erforderlich sein.

Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „java.security.cert.CertificateException: Keine alternativen Antragstellernamen vorhanden'?. 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