KIT-CA - Steinbuch Centre for Computing

Schlüsselerzeugung und Zertifikatsbeantragung mit GnuTLS

GnuTLS kann auf den meisten Linux-Distributionen über das Paketmanagement installiert werden. Benutzer von OS X können GnuTLS beispielsweise über HomeBrew installieren. Unter Windows kann GnuTLS mittels Cygwin, MSYS2 oder – ab Windows Version 10 – dem Windows Subsystem for Linux installiert werden.

Redhat Enterprise Linux 5 und Derivate (CentOS 5, Scientific Linux 5) bringen GnuTLS in der Vesion 1.4.x mit. Diese unterstützt keine Signaturen mit SHA-2 und ist deshalb nicht benutzbar. Nutzer dieser alten Linux-Distributionen müssen deshalb GnuTLS entweder selbst kompilieren oder auf OpenSSL umsteigen.

Antragsdatei mit GnuTLS auf der Kommandozeile erstellen

Mit GnuTLS können Schlüssel und Anträge einfach an der Kommandozeile generiert werden.

Die fett dargestellten Argumente müssen ggf. vorher noch entsprechend angepasst werden (FQHN ist der vollqualifizierte Hostname):


certtool --generate-privkey --outfile Schluessel.key

Legen Sie eine Template-Datei names template.txt mit folgendem Inhalt an und passen Sie diese entsprechend an:

# O
organization = "Karlsruhe Institute of Technology"
# OU, optional. Zum Benutzen '#' am Zeilenanfang entfernen.
#unit = "Institut fuer mustergueltige Beispiele"
# L
locality = "Karlsruhe"
# ST
state = "Baden-Wuerttemberg"
# C
country = DE
# CN; bitte einen vollqualifizierten Hostnamen benutzen
cn = "FQHN"
# E-Mail (nur fuer Personenzertifikate relevant)
#email = "MAILADRESSE"

Um Subject Alternative Names zu setzen, fügen Sie diese als dns_name der template.txt an:


dns_name = "weiterer-hostname.ifmb.kit.edu"
dns_name = "noch-ein-hostname.ifmb.kit.edu"
dns_name = "super-alias.ifmb.kit.edu"

Für weitergehende Einstellungen sei auf die Manpage von certtool oder die Dokumentation auf der Webseite verwiesen.

Erzeugen Sie nun die Antragsdatei:


certtool --generate-request --hash SHA256 \
 --load-privkey Schluessel.key \
 --template template.txt \
 --outfile Antragsdatei.req

Zertifikatsbeantragung im Webinterface

Öffnen Sie die Webseite der KIT-CA und wählen Sie den Reiter Serverzertifikat:

Webseite KIT-CA / Zertifikate / Serverzertifikat

Füllen Sie alle markierten Felder entsprechende aus. Als PKCS#10-Zertifikatantrag (PEM-formatierte Datei) wählen Sie die soeben erstelle Antragsdatei.

Wählen Sie das für Ihre Anwendung passende Zertifikatsprofil aus. Eine genaue Beschreibung der verschiedenen Profile finden sie hier. Für die meisten Anwendungen ist Webserver ein guter Startpunkt.

Diese Einträge werden nicht in das Zertifikat übernommen. Bei der Beantragung eines Serverzertifikats müssen Sie hier Ihren Namen und Ihre E-Mail-Adresse angeben, damit die Zertifizierungsstelle das Serverzertifikat einem Ansprechpartner zuordnen kann. Als E-Mail-Adresse sollte eine Adresse verwendet werden, bei der sichergestellt ist, dass jederzeit während der Gültigkeit des Zertifikats ein kompetenter Ansprechpartner erreicht wird. Hierfür empfiehlt es sich beispielsweise, für Serverzertifikate nicht die direkte E-Mail-Adresse eines Administrators anzugeben, sondern vielmehr eine entsprechende Mailingliste oder einen entsprechenden Mailverteiler. Auf diese Weise kann elegant sichergestellt werden, dass auch bei Abwesenheit des beantragenden Administrators ein Vertreter erreichbar ist. Achtung! Die PIN benötigen Sie, wenn Sie das Zertifikat sperren wollen. Sie sollten sich deshalb die PIN unbedingt notieren. Wenn Sie der Zertifizierungsrichtlinie nicht zustimmen, kann Ihr Antrag nicht bearbeitet werden. Wenn Sie einer Veröffentlichung nicht zustimmen, steht Ihr Zertifikat nicht im öffentlichen Verzeichnisdienst zur Verfügung.

Serverzertifikat: Dateneingabe

Wenn Sie auf Weiter klicken, werden Ihnen Ihre Angaben noch einmal angezeigt. Sie können sie nun ändern oder die Richtigkeit bestätigen.

Serverzertifikat: Daten ueberpruefen

Wenn Sie Ihre Angaben bestätigen, werden Sie aufgefordert, sich Ihren Zertifikatantrag anzeigen zu lassen und diesen auszudrucken. Wichtig ist, dass die RA-Mitarbeiter erkennen könne, dass Sie berechtigt sind, für den jeweiligen Rechnernamen ein Zertifikat zu beantragen; wenn Sie beispielsweise ein Zertifikat für einen Institutswebserver beantragen, wäre etwa der entsprechende Institutsstempel hilfreich. Außerdem müssen Sie ein von der KIT-CA ausgestelltes und gültiges Nutzerzertifikat besitzen, um ein Serverzertifikat zu beantragen.

Serverzertifikat: Papierformular

Bitte beachten Sie, dass Zertifikatanträge, für die nicht innerhalb von drei Monaten das zugehörige Formular ausgefüllt bei uns eingegangen ist, verworfen werden! Sie müssen also das zugehörige Formular innerhalb von drei Monaten bei einer Registrierungsstelle der KIT-CA einreichen! Bitte beachten Sie weiter, dass es nicht ausreicht, Zertifikatanträge per Fax zu übermitteln. Es werden die Originalanträge benötigt!

Schicken Sie das ausgedruckte Formular an die KIT-CA (KIT-CA, Steinbuch Centre for Computing/Campus Süd) oder geben Sie es persönlich bei einer Registrierungsstelle ab.

Zusammenführen von privatem Schlüssel und Zertifikat

Je nach Anwendung benötigen Sie Zertifikat und Schlüssel entweder in unterschiedlichen Dateien oder zusammengefasst in einer Datei. Sofern geheimer Schlüssel und Zertifikat im PEM-Format vorliegen, können diese einfach hintereinander geschrieben werden. Unter Linux geschieht dies am einfachste mit cat:


cat Zertifikatdatei.pem Schluessel.key > Beides.pem

Unter Windows können die Dateien mittels copy zusammengefasst werden:


copy Zertifikatdatei.pem Schluessel.key Beides.pem

Manche Anwendungen benötigen auch noch die komplette Zertifikatskette in der Ausgabedatei; laden Sie diese einfach von den Seiten der KIT-CA herunter und fügen Sie diese an geeigneter Stelle ein.

PKCS12 (.p12/.pfx)

Viele Anwendungen benötigen Schlüssel und Zertifikat im PKCS12-Format (unter Windows üblicherweise mit der Endung .pfx oder .p12). Laden Sie dazu die Zertifikatskette chain.txt herunter und speichern diese im gleichen Verzeichnis wie Schlüssel und Zertifikat. Der Parameter --p12-name setzt den Anzeigenamen; dieser kann frei gewählt werden. Es bietet sich an hier neben dem Namen das Ablaufdatum zu vermerken:


certtool --load-ca-certificate chain.txt \
 --load-certificate certificate.pem \
 --load-privkey certificate.key \
 --p12-name="TODO: Sinnvoller Anzeigename" \
 --to-p12 --outder --outfile certificate.pfx

Falls eine oder mehrere Dateien nicht im PEM-Format vorliegen, können diese in der Regel mit OpenSSL konvertiert werden. Da die sehr viele Kombinationsmöglichkeiten bestehen, sei hierzu auf die Dokumentation von OpenSSL verwiesen (insbesondere die Manpages x509, rsa, pkcs12, pkcs7 und pkcs8).