Heim > Java > javaLernprogramm > Wie überprüft Java die Namen von SSL-Zertifikatservern und was sind die Schritte zur Fehlerbehebung?

Wie überprüft Java die Namen von SSL-Zertifikatservern und was sind die Schritte zur Fehlerbehebung?

Barbara Streisand
Freigeben: 2024-12-11 07:39:10
Original
579 Leute haben es durchsucht

How Does Java Verify SSL Certificate Server Names and What Are the Troubleshooting Steps?

SSL-Zertifikatservernamen auflösen

SSL-Zertifikate spielen eine entscheidende Rolle beim Aufbau sicherer Verbindungen, aber es ist wichtig zu verstehen, wie Servernamen aufgelöst werden.

Wie SSL-Zertifikatservernamen lauten Gelöst

Gemäß RFC 6125 umfasst der Prozess der Überprüfung von Hostnamen für SSL-Zertifikate die Überprüfung der folgenden Felder:

  1. Subject Alternative Name (SAN): Falls vorhanden, hat das SAN-Feld Vorrang und enthält den gültigen Server Namen.
  2. Common Name (CN): Wenn kein SAN-Feld verfügbar ist, wird das CN-Feld verwendet. Diese Vorgehensweise ist jedoch veraltet.

Java-Hostnamenüberprüfung

In Java folgt die Hostnamenüberprüfung für SSL-Zertifikate normalerweise den in RFC 2818 dargelegten Richtlinien. Das bedeutet dass:

  • Wenn das Zertifikat ein SAN-Feld enthält, überprüft Java den Hostnamen anhand des angegebene Werte.
  • Wenn kein SAN-Feld vorhanden ist, überprüft Java das CN-Feld auf einen gültigen Hostnamen.

Verwenden von Keytool zum Hinzufügen alternativer Namen

  • In Java 7 oder höher bietet keytool die Möglichkeit, beim Generieren von SSL-Zertifikaten Subject Alternative Names (SANs) anzugeben. Verwenden des Parameters -ext mit san=dns: oder san=ip: wird die gewünschten alternativen Namen in das Zertifikat aufnehmen.

OpenSSL als Alternative

  • Wenn keytool Ihren Anforderungen nicht entspricht, kann OpenSSL verwendet werden um selbstsignierte Zertifikate mit SANs zu generieren. Durch Ändern der Konfigurationsdatei „openssl.cnf“ oder Festlegen von Umgebungsvariablen können Sie die alternativen Namen angeben, die in das Zertifikat aufgenommen werden sollen.

Fehlerbehebung bei Hostnamen-Überprüfungsfehlern

Wenn Java SSL-Zertifikaten nicht vertraut, obwohl sie zum Trust Store hinzugefügt wurden, können die folgenden Schritte dies tun Hilfe:

  • Stellen Sie sicher, dass das SAN-Feld oder CN-Feld im Zertifikat mit dem Hostnamen des Servers übereinstimmt, zu dem Sie eine Verbindung herstellen möchten.
  • Stellen Sie sicher, dass die Zertifizierungsstelle (CA) dies tut Das ausgestellte Zertifikat wird von Java als vertrauenswürdig eingestuft.
  • Erwägen Sie die Verwendung eines benutzerdefinierten HostnameVerifier, um die Standard-Hostnamenüberprüfung von Java zu überschreiben Verhalten.

Das obige ist der detaillierte Inhalt vonWie überprüft Java die Namen von SSL-Zertifikatservern und was sind die Schritte zur Fehlerbehebung?. 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