Java-keytool-Befehl mit IP-Adressen
Ich versuche, ein Bild über einen https-URL, und habe einige Probleme. Ich generieren Sie einen keystore mit dem Java-keytool-Befehl. Wenn ich geben Sie den common name (CN) gleich zu meinem Hostnamen, wie z.B. CN=JONMORRA, und dann versuchen Sie, die Abfrage über mein hostname, wie https://JONMORRA:8443/ dann funktioniert es einwandfrei. Allerdings, wenn ich geben Sie den common name als meine ip-Adresse, so dass CN=192.168.56.1, und versuchen die Abfrage über meine ip Adresse, wie https://192.168.56.1:8443/ dann bekomme ich eine Fehlermeldung
HTTPS hostname wrong: sollte <192.168.56.1>
Welches besagt, dass mein hostname ist falsch, auch wenn das ist, was ich in den angegebenen keystore.
Möchte ich nutzen, ip-Adressen anstelle von Hostnamen, so kann ich die Abfrage zwischen Linux-und Windows-Boxen, ohne sich Gedanken über Hostnamen.
Warum ist die CN nicht zu akzeptieren, ip-Adressen und wie kann ich es beheben?
Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieses snippet könnte für Sie arbeiten:
Wenn Sie versuchen, diesen code, und es funktioniert nicht, bitte posten, was gedruckt wird, für
urlHostName
undsession.getPeerHost()
.Auch, warum nicht mit Windows-und Linux-Boxen die Interoperabilität erfordern die Verwendung von IP-Adressen anstatt Hostnamen?
Konkret zu generieren, die ein gültiges Zertifikat mit
keytool
verwenden:z.B.:
Den HTTPS-Spezifikation (RFC 2818) ist ganz klar über die server-Prüfung der Identität mit einer IP-Adresse: Subject Alternative Name (IP -) Eintrag muss vorhanden sein, in das Zertifikat (in der Erwägung, dass der CN im Subject DN ausreichen würde, als fallback-Lösung für ein host-name).
Obwohl nicht alle Kunden (insbesondere nicht alle Browser) Durchführung dieser Prüfung ist streng -, Java-Standard-host-name verifier hat.
Erstellen Sie ein Zertifikat mit einer IP-SAN-Eintrag kann man mit OpenSSL zum Beispiel oder (nicht verfügbar an der Zeit, diese Frage wurde gefragt/beantwortet), die mit Java 7
keytool
.Sehen, diese Frage für details: Wie werden SSL-Zertifikat server-Namen behoben/Kann ich alternative Namen mithilfe von keytool?