Ich habe einen HTTPS-Server mit einem selbstsignierten Zertifikat mit dieser CN=localhost
erstellt. Aber wenn ich den Client fange, sagt es mir einig Bind-Ausnahme:Ändern der Hostadresse in Java
socket::connect fails with error code = 10049
ich mit CN=hostname
etwas neues Zertifikat erstellt, die ich herausgefunden haben (und das ist der Computername) mit folgenden Zeile:
hostname = InetAddress.getLocalHost());
Aber dieser Weg ist nicht praktisch für mich. Ich möchte ein Zertifikat mit einer URL wie example.com
erstellen und möchte dieses Zertifikat mehr als einmal verwenden. So hatte ich Idee folgende: Ich habe etwas url Hinzufügen/etc/hosts-Datei mit diesem:
127.0.0.1 example.com
Und dann bin ich mit der URL example.com
.
Gibt es eine Möglichkeit, InetAddress.getLocalhost zu ändern? Oder gibt es eine Möglichkeit, einen Kunden-IP-Adresse-Bestellhostnamen zu verwenden?
habe ich verwendet:
InetSocketAddress address = new InetSocketAddress("test.com",9999);
eine Kundenadresse zu erstellen, aber das ist nicht die Bind-Exception aufgelöst.
Hat jemand Ideen?
Auch die Verwendung finden Sie unter [Zuweisen eines Domain-Namen für Entwicklungsumgebung auf localhost] (https://stackoverflow.com/q/7576217/608639) und [Von Dritten signiertes SSL-Zertifikat für localhost oder 127.0.0.1?](https://Stackoverflow.com/q/6793174/608639) – jww
*** 'CN = www.example.com "*** ist wahrscheinlich falsch. Hostnamen gehen immer in das * SAN *. Wenn es im * CN * vorhanden ist, muss es auch im * SAN * vorhanden sein (in diesem Fall müssen Sie es zweimal auflisten). Weitere Regeln und Gründe finden Sie unter [Wie unterschreiben Sie eine Zertifikatsignierungsanforderung mit Ihrer Zertifizierungsstelle] (http://stackoverflow.com/a/21340898/608639) und [So erstellen Sie ein selbstsigniertes Zertifikat mit openssl?] (http://stackoverflow.com/q/10175812/608639) Sie müssen das selbstsignierte Zertifikat auch im entsprechenden Trust Store speichern. – jww