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:
-
Subject Alternative Name (SAN): Falls vorhanden, hat das SAN-Feld Vorrang und enthält den gültigen Server Namen.
-
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!