Serverzertifikate

Zertifikate für Server in den Institutionen und Einrichtungen der Universität Stuttgart können über die Webschnittstelle der CA

hier

beantragt werden. Dazu benötigen Sie

  1. Eine funktionsfähige Installation von OpenSSL um den Schlüssel zu generieren
  2. Einen digitalen PKCS#10-Zertifikatsantrag im PEM-Format
  3. Den ausgedruckten und unterschriebenen Antrag, der im Zuge der Interaktion mit der Webschnittstelle erstellt wird
  4. Die vollständig ausgefüllte Teilnehmer-Erklärung (doc | pdf)
  5. Einen Termin bei der Registrierungsstelle (RA) der Universität Stuttgart CA zur persönlichen Identifizierung

Nachfolgend finden Sie nähere Erläuterungen zu den einzelnen Schritten und Modulen.

 

1. OpenSSL

OpenSSL wird als fertiges Pakete bei den meisten Linux-Distributionen mitgeliefert. Sofern Sie auf ein Windows-Betriebssystem angewiesen sind, gibt es auch ein Windows Installationspaket. OpenSSL ist ein Werkzeugkasten mit verschiedenen Programmen u.a. zur Verarbeitung und Erzeugung von elektronischen Zertifikatsanträgen und Zertifikaten. Alle OpenSSL-Programme sind Kommandozeilen-orientiert, d.h. es gibt keine grafische Oberfläche. Sie benötigen also auch unter Windows ein Kommandozeilen-Fenster (cmd.exe).

2. PKCS#10-Zertifikatantrag

Der elektronische Zertifikatsantrag enthält die folgenden Informationen: 

  • Den Distinguished Name, eine Zeichenkette, die den Server eindeutig identifiziert und einer Organisationseinheit der Universität Stuttgart zuordnet.
    Im Beispiel "C=DE, ST=Baden-Wuerttemberg, L=Stuttgart, O=Universitaet Stuttgart, OU=Rechenzentrum, CN=www.test.uni-stuttgart.de" wird durch "C" der Staat Deutschland, durch "ST" das Bundesland Baden-Württemberg, durch "L=Stuttgart" die Stadt Stuttgart, durch "O" die Organisation Universität Stuttgart und durch "OU" die Organisationseinheit, die den Server betreibt, gekennzeichnet. Der Eintrag "CN" ist der Common Name des Servers, d.h. der DNS-Name. Webbrowser überprüfen, ob die angegebene URL mit dem im Zertifikat präsentierten Namen übereinstimmt.
  • Den öffentlichen Schlüssel des von Ihnen erzeugten Schlüsselpaares.

Gemäß der Zertifizierungsrichtlinie kann die CA der Universität Stuttgart nur Zertifikate mit dem Eintrag "C=DE, L=Stuttgart, O=Universitaet Stuttgart" oder "C=DE, ST=Baden-Wuerttemberg, L=Stuttgart, O=Universitaet Stuttgart" ausstellen. Als OU-Eintrag sollten Sie das Kürzel Ihrer Einrichtung verwenden. Umlaute und Kommata sollten nicht verwendet werden. Halten Sie ggf. vorher Rücksprache mit dem PKI-Team der Universität Stuttgart.

Die inhaltliche Struktur für diesen elektronische Zertifikatsantrag ist als PKCS#10 genormt. Es gibt dann zwei Alternativen für das Dateiformat, nämlich ein binäres Format (DER) oder ein druckbares Format PEM. Im druckbaren PEM-Format lassen sich die Dateien in einem Editor ansehen und einfach per Mail versenden.

Wählen Sie zum Erzeugen des Zertifikatsantrages einen vertrauenswürdigen Computer, denn dabei wird ein Schlüsselpaar aus einem geheimen (private key) und einem öffentlichen (public key) Schlüssel erzeugt. Der geheime Schlüssel darf nicht in falsche Hände geraten!

Mit OpenSSL erzeugen Sie den Zertifikatsantrag mit nachfolgendem Befehl. Dabei muss der gesamte Befehl in einer Zeile stehen. Für die Übersichtlichkeit sind hier Zeilenumbrüche eingefügt. Diese Zeilenumbrüche müssen entfernt werden, wenn Sie dieses Beispiel als Vorlage für Ihren Zertifikatsantrag benutzen. Am besten legen Sie sich eine Kommandodatei (Shell-Script, CMD/BAT-Datei) mit dem Befehl an (falls Sie sich vertippen).

openssl req
 
   -batch
   -sha1
   -newkey 2048:rsa
   -passout pass:geheim
   -keyout private_key_enc.pem
   -out csr.pem
   -subj "/C=DE/ST=Baden-Wuerttemberg/L=Stuttgart/O=Universitaet Stuttgart/OU=Rechenzentrum/CN=www.test.rus.uni-stuttgart.de"

 

Die eingegebenen Befehle bewirken im Einzelnen:

  • openssl req ruft den Unterbefehl req auf, der zur Erzeugung und Verarbeitung von Zertifikatsanträgen verwendet wird.
  • -batch bewirkt das Ausführen im nicht-interaktiven Modus.
  • -sha1 gibt die SHA1 Prüfsumme (fingerprint) des Zertifikatsantrags aus.
  • -newkey 2048:rsa erzeugt ein neues Schlüsselpaar mit 2048 bit Länge nach dem RSA-Verfahren
  • -passout pass:geheim sorgt dafür, dass der geheime Schlüssel mit dem Passwort geheim verschlüsselt wird. Bitte wählen Sie hier ein anderes, besseres Passwort. Allerdings hängt es später von der Konfiguration des Webservers ab, ob der geheime Schlüssel verschlüsselt bleiben kann. Wenn der geheime Schlüssel verschlüsselt vorliegt, dann kann der Webserver ohne manuelle Eingabe dieses Passwortes nicht mehr starten. Beim Neustart müsste also immer dieses Passwort eingegeben werden.
  • -keyout private_key_enc.pem speichert den geheimen Schlüssel (private key) verschlüsselt in der Datei mit Namen private_key.pem. Passen Sie gut auf diesen Schlüssel auf, denn Sie dürfen ihn weder verlieren, noch darf der Schlüssel in falsche Hände gelangen.
  • -out csr.pem legt den neuen Zertifikatsantrag PKCS#10 in der Datei csr.pem im PEM-Format ab.
  • -subj "/C=DE..." gibt wie oben beschreiben den Distinguished Name des Webservers an. Dieser Eintrag muss auf Ihren Server angepasst werden.

Nach der Ausführung dieses Befehls erzeugt OpenSSL die Datei csr.pem, die für die Webschnittstelle benötigt wird.

3. Online-Antrag

Für den Online-Antrag benötigen Sie die zuvor erzeugte Datei csr.pem mit dem PKCS#10-Zertifikatsantrag im PEM-Format und einen Webbrowser. Starten Sie den Webbrowser und rufen Sie die Webschnittstelle der CA auf. Wählen Sie Serverzertifikat im Menu des Hauptpunkts Zertifikate und füllen Sie das Formular aus. Achten Sie bitte darauf, das Formular, welches Ihnen zum Ende der Beantragung angezeigt wird, auszudrucken und später bei der Registrierungsstelle vorzulegen.

4. Teilnehmer-Erklärung

Die Teilnehmer-Erklärung (doc | pdf) muss ausgefüllt und von Ihnen sowie dem Leiter der Organisationseinheit (Institut oder Einrichtung) unterschrieben werden.

5. Identifizierung bei der Registrierungsstelle


Damit Sie bei der Registrierungsstelle der CA der Universität Stuttgart identifiziert werden können, vereinbaren Sie bitte einen Termin und bringen folgende Dokumente mit:

  • Ihren gültigen Personalausweis
  • den ausgedruckten, ausgefüllten und unterschriebenen Online-Antrag
  • die ausgefüllte und unterschriebene Teilnehmer-Erklärung (doc | pdf)

Nach der Identifizierung und Überprüfung der Dokumente wird die Registrierungsstelle den Online-Antrag digital signieren. Daraufhin sollten Sie nach ein paar Stunden ihr Zertifikat per E-Mail an die Adresse erhalten, die Sie im Online-Antrag angegeben haben.

Nutzer-Zertifikate

Nutzer-Zertifikate werden zur Zeit noch nicht ausgestellt.

Der Termin für die Einführung der Nutzerzertifikate wird gesondert bekannt gegeben.

 

Hilfe-Themen

Das Zertifikat wird im Browser als ungültig angezeigt.
Ob ein Zertifikat automatisch anerkannt wird, liegt u.a. an den voreingestellten Zertifikaten im Browser. Damit ein von der Universität Stuttgart ausgestelltes Zertifikat als gültig angesehen wird, muss ein bestimmtes Zertifikat der Telekom gespeichert sein. Während das Telekom-Zertifikat in den neuen Versionen der meisten Browsern bereits vorinstalliert ist, kann eine manuelle Installation bei manchen Browsern notwendig sein. Das fehlende Zertifikat kann mit Klick auf den nachfolgenden Link manuell importiert werden: Link zum Telekom-Zertifikat.

Kann eine IP-Adresse als CN im Zertifikat angegeben werden?
Nein, da dies uns durch die Richtlinien des DFNs verboten wird. IP-Adressen können aber als Zusatzeintrag im "subjectAlternativeName" angegeben werden.

Das Zertifikat soll für mehrere FQDNs gelten.
In manchen Fällen kann es sinnvoll sein, ein Zertifikat zu beantragen, das für mehrere FQDNs gleichzeitig gültig ist. In einem solchen Fall wird ein FQDN im CN des Zertifikats angegeben, die weiteren, einschließlich des im CN angegebenen FQDNs, können im Eintrag "subjectAlternativeName" angegeben werden.
Dies kann mit OpenSSL durchgeführt werden, indem die Konfigurationsdatei von OpenSSL (openssl.cnf) editiert wird und die folgenden Zeilen hinzugefügt werden:
[ req_exts ]
subjectAltName  = @SUBJ

[SUBJ]
DNS.0=www.test.rus.uni-stuttgart.de
DNS.1=www1.test.rus.uni-stuttgart.de
DNS.2=www2.test.rus.uni-stuttgart.de

Beim Aufruf von OpenSSL muss anschließend noch durch -reqexts req_exts angegeben werden, dass die Erweiterungen genutzt werden sollen.

Was soll als Profil in einem Servierzertifikat angegben werden?
Durch die Wahl des Profils wird automatisch angegeben, für welche Anwendungen das Zertifikat benutzt werden kann. Eine genaue Liste der möglichen Profile zusammen mit der Beschreibung des Anwendungen findet sich hier.

Weitere Fragen
Für weitere Fragen, deren Antwort hier nicht beschreiben ist, sei auf die DFN-PKI FAQ verweisen.