Zertifikate in Keystores importieren


Root- und Intermediate Zertifikat in Java-TrustStore importieren

Für bestimmte Konstellation, zum Beispiel bei der Anbindung eines LDAP-Servers, kann es nötig sein, das Root-Zertifikat oder das Root- und das Intermediate-Zertifikat, mit denen das Zertifikat des anderen Servers erstellt wurde, im Java-TrustStore zu importieren.

Java TrustStore

Der Java-TrustStore beinhaltet alle Root-Zertifikate, denen eine Java-Installation vertraut. Hierbei ist zu beachten, dass bei System, auf denen mehrere Java-Versionen installiert sind, der TrustStore des Javas verwendet wird, welches der Application Servers nutzt, der Xima® Formcycle ausführt. Ein voller Pfad kann zum Beispiel wie folgt aussehen: 

"C:\Program Files\AdoptOpenJDK\jdk-11.0.9.101-hotspot\lib\security\cacerts"

Weiterhin ist zu beachten, dass je nach Betriebssystemumgebung und Installationsart und -typ des eingesetzten Javas der Pfad deutlich anders sein kann. Insbesondere unter Linux wird aus dem Java-Installationsordner zum Teil nur mit einem Symbolischen Link auf die echte Position des TrustStores verwiesen. Der Dateiname des TrustStores ist üblicherweise cacerts.

Sofern keine Änderung am Passwort vorgenommen wurde, wird für den Java-TrustStore in den meisten Umgebungen das Standard-Passwort changeit verwendet.

Im folgenden wird auf zwei Wege eingegangen, mit denen Root- und Intermediate-Zertifikate in den TrustStore einer Java-Installation importiert werden können.

Import mit keytool

Hierzu wird das Tool keytool verwendet, welches normalerweise von der verwendeten Java-Installation im bin-Verzeichnis bereitgestellt wird. 

Beim Aufruf des Tools werden die folgenden Parameter verwendet, welche an die eigene Umgebung angepasst werden müssen:

"Aliasname des Zertifikats"
Im TrustStore verwendeter Alias für das Zertifikat. Dieses kann frei gewählt werden, es darf nur nicht bereits ein anderes Zertifikat mit gleicham Alias im TrustStore geben. 
"Zertifikat.cer"
Name vom (und gegebenenfalls Pfad zum) zu importierenden Zertifikat
"Pfad-Zum-Zertifikatsstore"
Voller Pfad zum Java TrustStore

Der auszuführende Befehl lautet:

keytool -importcert -trustcacerts -alias "Aliasname des Zertifikats" -file "Zertifikat.cer" -keystore "Pfad-Zum-Zertifikatsstore"

Import mit dem KeyStore Explorer

Der KeyStore Explorer ist ein unter Java laufendes graphisches Tool zum Erstellen und Bearbeiten von Keystores verschiedener Arten. Zu beachten ist, dass der KeyStore Explorer mit ausreichenden Rechten gestartet werden muss, um auf den TrusStore lesend und schreibend zugreifen zu können. Nachdem der KeyStore Explorer gestartet wurde, müssen die folgenden Schritte durchgeführt werden:

Zuerst muss der TrustStore im KeyStore Explorer geöffnet werden. Dies erfolgt über die Schaltfläche Schlüsselspeicher öffnen:

TrustStore_KeyStore_Explorer_1.png

In dem sich daraufhin öffnenden Dialog muss der zu verwendende TrustStore ausgewählt werden. danach öffnet sich ein weiterer Dialog, in dem das Passwort des TrustStores eingegeben werden muss:

TrustStore_KeyStore_Explorer_2.png

Anschließend wird im KeyStore Explorer eine Liste mit allen im TrustStore enthaltenen Zertifikaten angezeigt. Jetzt muss im Menü über Werkzeuge   Vertrauenswürdiges Zertifikat importieren angeklickt werden und in dem sich danach öffnenden Dialog das  Zertifikat gewählt werden, welches importiert werden soll:

TrustStore_KeyStore_Explorer_3.png

Anschließend öffnet sich ein Dialog, in dem der Aliasname eingegeben werden muss, unter welchem das Zertifikat im TrustStore hinterlegt wird, wobei die wesentlich Anforderung an diesen Alias ist, dass es nicht bereits ein anderes Zertifikat im TrustStore gibt, welches den gleichen Alias verwendet:

TrustStore_KeyStore_Explorer_4.png

Danach sollte die Meldung erscheinen, dass das Zertifikat erfolgreich importiert wurde. Jetzt müssen die Änderungen am Truststore lediglich noch gespeichert werden, was über das Speichern-Symbol in der Oberfläche oder über das Menü unter Datei   Speichern erfolgt. Falls sich an dieser Stelle herausstellen sollte, dass der KeyStore Explorer keine Schreibrechte für den TrustStore besitzt, kann dieser zunächst über die Menüoption Datei   Speichern unter an eine andere Stelle gespeichert werden und dann von einem Nutzer mit den entsprechenden Rechten manuell an die richtige Stelle verschoben werden.

Import von Intermediate-Zertifikaten

Wenn das Zertifikat, welchem vertraut werden soll, über ein Intermediate-Zertifikat ausgestellt wurde, muss dieses gegebenenfalls auch importiert werden. Das ist genau dann nötig, wenn dieses Intermediate-Zertifikat nicht vom Server bereitgestellt wird, mit dem die Verbindung aufgebaut werden soll. Der Import erfolgt analog zum Root-Zertifikat mit den obenstehenden Anleitungen und ensprechend angepassten Parametern für Alias und den Dateinamen bzw. Pfad des Intermediate-Zertifikats.