Zertifikatsanforderung mit dem Java-Keytool

Erzeugen von Schlüsseln

In den Java Keystores werden Schlüssel gleich paarweise erzeugt und jeweils mit einem „alias“ versehen, damit man diese auch unterscheiden kann – und wieder findet.

Wir verwenden für die Beispiele eine eigene Keystore-Datei mit Namen keys. Wenn Sie die Option -keystore nicht angeben, wird der Standard-Keystore verwendet. Geben Sie den folgenden Befehl ein, um die Schlüssel zu erzeugen:

keytool -keystore keys
-genkey -alias server
-keyalg RSA -keysize 2048 -sigalg SHA1withRSA
-dname „EmailAddress=webmaster@fachgebiet.tu-darmstadt.de,
CN=server.fachgebiet.tu-darmstadt.de, [OU=Fachgebiet,]
OU=Fachbereich, O=Technische Universitaet Darmstadt, L=Darmstadt,
ST=Hessen, C=DE“

Nach der Eingabe werden Sie nach dem Passwort gefragt. Geben Sie ein mindestens 6-stelliges Passwort ein. Achtung: Bei Verlust dieses Passwortes werden Schlüssel und das spätere Zertifikat unbrauchbar!

Die Optionen im Einzelnen

alias

Hier geben Sie einen Kurznamen für den Schlüssel ein.

keyalg, keysize

Die Zertifizierungsstelle verlangt Schlüssel im Format RSA mit einer Länge von mindestens 2048 Bit.

dname

Hier

  • EmailAddress: Die Mail-Adresse des administrativen Kontaktes. Diese Adresse muss existieren und erreichbar sein!
  • CN: ,,Canonical Name``, vollständiger Name des Rechners mit Domain.
  • OU ist der einzige Parameter, der mehrfach auftreten darf, die Reihenfolge ist dabei entscheidend. Als erstes ist die Unter-Einheit anzugeben, z.B. Fachgebiet oder Institut, dann die darüber liegende Einheit, z.B. Fachbereich.
  • Die weiteren Parameter O=Technische Universitaet Darmstadt, L=Darmstadt, ST=Hessen, C=DE müssen genau so eingegeben werden, sie sind von der Zertifizierungsstelle vorgegeben.

Erzeugen einer Zertifizierungsanforderung (CSR)

Die Zertifizierungsanforderung ist, technisch gesehen, der mit dem eigenen privaten Schlüssel signierte öffentliche Schlüssel. Dadurch ist sicher gestellt, dass der Erzeuger des CSR im Besitz beider Teile des Schlüssels ist (öffentlicher und privater Schlüssel).

Da wir bereits im ersten Schritt alle notwendigen Parameter fest gelegt haben, ist die Erzeugung einer Zertifizierungsanforderung mit dem keytool eine einfache Sache:

keytool -keystore keys -certreq -alias server -sigalg „SHA1withRSA“ -file server.csr

Als alias muss hier wieder der oben fest gelegte Kurzname verwendet werden, die Ausgabe landet in der Datei server.csr. Die Option sigalg sorgt dafür, dass für die Signatur statt des MD5 der SHA1 Algorithmus verwendet wird, der als sicherer gilt.

Leider gibt es im keytool keine Option, die den Inhalt einer Zertifizierungsanforderung anzeigen kann.

Die so erzeugte Datei server.csr können Sie direkt auf dem WWW-Interface der TUD CA G01 eingeben, oder vorab an die TUD CA G01 (tud-ca at hrz.tu-darmstadt.de) zur Kontrolle schicken.