Ich habe eine vorhandene Anwendung, die die org.restlet.engine.ssl.DefaultSslContextFactory
und eine Schlüsselspeicher-Datei verwendet, die geladen wird, wenn der Server gestartet wird. Ich habe eine andere Anwendung, die Zertifikate erstellt, die dynamisch in die Keystore-Datei hinzugefügt werden müssen, während der Server ausgeführt wird. Um dies durchzuführen, habe ich das Zertifikat und den privaten Schlüssel im Code erstellt und dann in ein Verzeichnis schreiben. Das Verzeichnis wird von einem Bash-Skript überwacht, das nach neuen Dateien sucht. Wenn eines erscheint, wird es in die vorhandene Keystore-Datei importiert.Java DefaultSslContextFactory Schlüsselspeicher dynamisch aktualisiert
Aber wenn man versucht, den Server mit dem neu eingeführten Zertifikat für den Zugriff auf die Handshake fehlschlägt. Nur beim Neustart des Servers kann der Zugriff erfolgreich abgeschlossen werden, was bedeutet, dass das hinzugefügte Zertifikat nicht vom Server neu geladen wird.
Gibt es eine Möglichkeit, die laufende Anwendung mit dem neuen Eintrag in der Schlüsselspeicherdatei zu aktualisieren?
Haben Sie sich diese Antwort angesehen? http://stackoverflow.com/questions/859111/how-can-i-use-different-certificates-on-specific-connections – Tom