Erstellen Sie einen leeren Java-Keystore, importieren Sie Middlebox-CA-Zertifikate und verwenden Sie diesen Keystore für Java

531
Dave

Unsere TLS-Verbindungen werden von einer Middlebox weitergeleitet. Ich habe die Zertifikatsvertrauenskette der internen Zertifizierungsstelle unserer Organisation. Ich kann keytool verwenden, um diese Zertifikate an den Standardspeicherorten sowohl in den JDK- als auch in den JRE-Schlüsselspeicher zu importieren. Die von uns verwendete Java-Anwendung kann Zertifikate, die sie vom Proxy erhält, problemlos validieren.

Wenn die Java-Updates von der IT herausgeschoben werden, enthalten sie aus unbekannten Gründen keine eigenen Middlebox-Zertifizierungsstellenzertifikate in den Java-Keystores des Java-Updates, das sie an alle Benutzerarbeitsstationen senden. Wir sind dann defekt, bis wir die Middlebox-CA-Zertifikate unserer Organisation manuell in die Java-Keystores jeder von uns verwendeten Workstation neu importieren. Und wir wissen nie, wann die IT ein Java-Update veröffentlichen wird. Pfui.

Ich möchte also einen benutzerdefinierten Keystore an einem festen, bekannten Ort verwenden. Dies führt zu einigen Fragen.

  1. Wenn ich versuche, eines der Zertifikate in einen anfangs nicht vorhandenen Keystore zu importieren, gibt keytool einen Fehler aus, der besagt, dass der Keystore nicht vorhanden ist. Ähm, ja, das weiß ich. Wie kann ich keytool verwenden, um einen leeren Schlüsselspeicher zu erstellen?

  2. Nachdem ich den anfänglich leeren Keystore erstellt und die CA-Zertifikate importiert habe, besteht das Problem, dass Java unseren benutzerdefinierten Keystore verwendet. Die von uns verwendete Java-Anwendung wird folgendermaßen gestartet:

    java -jar someJavaApp.jar Argument1 Argument 2 ...

Wie kann ich Java mitteilen, dass der Keystore an meinem benutzerdefinierten Speicherort und nicht am Standardspeicherort verwendet werden soll?

0

0 Antworten auf die Frage