Zertifikatsverwaltung mit Java (Teil 3)

Zertifikatsverwaltung mit Java (Teil 3)

Eingetragen bei: Java, Zertifikate | 0

Im dritten Teil erläutere ich wie man Zertifikate aus dem keystore exportiert und löscht. Und ganz zuletzt wie man Passwörter im keystore ändern kann.

 

6_exportcert.bat

Befehlszeilen:

 

Erläuterung:

Mit export Befehl kann man Zertifikate wieder aus dem keystore in eine Datei exportieren.

  • alias der eindeutige Name, des zu exportierenden Zertifikats im keystore (Default: mykey).
  • keystore gibt den Pfad der keystore Datei an.
  • storepass ist das Passwort für den keystore. Wird es nicht angegeben, wird keytool danach fragen.
  • file gibt den Pfad an, in dem das Zertifikat gespeichert werden soll.
  • rfc ist das Format in dem das Zertifikat exportiert wird, also Base64.

 

7_export_key_to_pem.bat

Befehlszeilen:

 

Erläuterung:

Man kann nicht nur das Zertifikat exportieren, sondern auch den Schlüssel. Im Beispiel exportieren wir den Schlüssel in das pem Format. Dafür wird die Hilfe von openSSL benötigt. Auf openSSL gehe ich in späteren Artikeln noch näher ein.

In der ersten Zeile arbeiten wir noch mit dem Java keytool. Wir legen einen neuen keystore im PKCS12 Format an und importieren in diesen unseren bisherigen keystore. Dafür wir der Befehl importkeystore verwendet.

  • srckeystore gibt den Pfad der zu importierenden keystore Datei an (unsere Quelle).
  • srcstorepass ist das Passwort für den zu importierenden keystore. Wird es nicht angegeben, wird keytool danach fragen.
  • destkeystore gibt den Pfad zum neuen keystore an (unser Ziel).
  • deststorepass ist das Passwort für den neuen keystore. Wird es nicht angegeben, wird keytool danach fragen.
  • destkeystoretype ist der Typ oder das Format des neuen keystores. In unserem Fall ist das Format PKCS12.

Im nächsten Schritt werden wir mit openSSL den Schlüssel aus der PKCS12 Datei in eine pem Datei schreiben. Dazu benötigen wir den Befehl pkcs12.

  • in ist die Quelle, also unsere gerade erstellte PKCS12 Datei.
  • nocerts verhindert das Schreiben von Zertifikaten – wir wollen ja nur den Schlüssel exportieren.
  • out gibt den Pfad zur pem Datei an, die geschrieben werden soll.
  • des bedeutet, dass openSSL DES zur Verschlüsselung der pem Datei verwenden soll.
  • passin ist das Passwort der PKCS12 Datei. Das Passwort wird mit vorangestelltem pass: angegeben.
  • passout ist das Passwort der pem Datei. Das Passwort wird mit vorangestelltem pass: angegeben.

Zuletzt löschen wir die nicht mehr benötigte PKCS12 keystore Datei.

8_delete.bat

Befehlszeile:

Erläuterung:

Mit dem delete Befehl löscht man einen Eintrag aus dem keystore, beispielsweise, wenn man ein falsches Zertifikat hinzugefügt hat.

  • alias identifiziert den Eintrag im keystore, der gelöscht werden soll.
  • keystore gibt den Pfad der keystore Datei an.
  • storepass ist das Passwort für den keystore. Wird es nicht angegeben, wird keytool danach fragen.

9_changepassword.bat

Befehlszeile:

Erläuterung:

Über diesen Befehl setzt man das Passwort eines Schlüssel neu (Im Beispiel der Schlüssel mit dem Alias mykey). Ein Grund dafür kann sein, dass man ursprünglich unterschiedliche Passwörter für keytore und Schlüssel vergeben hat und dies nun Rückgängig machen will. Auch wenn es eigentlich eine gute Idee ist dem Schlüssel und der keystore Datei unterschiedliche Passwörter zu geben, kann dies manchmal zu Problemen führen. Beispielsweise kann Tomcat damit nicht umgehen.

  • keystore gibt den Pfad der keystore Datei an.
  • storepass ist das Passwort für den keystore. Wird es nicht angegeben, wird keytool danach fragen.
  • alias identifiziert den Eintrag im keystore, dessen Passwort geändert werden soll.
  • new ist das das neue Passwort.

 

Die vollständige Dokumentation von Oracle zum keytool gibt es hier.

Hinterlasse einen Kommentar