PKCS#10-Antrag erstellen
Server-Zertifikatsanträge müssen in einem maschinell verarbeitbarem Format bei der RA eingereicht werden. Das zugrundeliegende Format ist in dem "Public Key Cryptography Standard" Nummer 10 (PKCS#10) definiert und wird bei der Verwendung eines geeigneten Werkzeugs automatisch erstellt.
Wesentliche Teile eines Zertifikatsantrags
Der Zertifikatsantrag setzt sich im wesentlichen zusammen aus
- dem "Subject Distinguished Name",
- optionalen Attributen,
- einer digitalen Signatur mit dem privaten Schlüssel und
- einer Kennzeichnung des verwendeten Signaturalgorithmus.
Der "Subject Distinguished Name"
Der "Subject Distinguished Name" (kurz: DN) wird aus Attributen gebildet, die teilweise durch die Policy vorgegeben sind und teilweise von Ihnen gewählt werden. Die folgenden Attribute sind durch die Policy fest vorgegeben:
- Landesbezeichnung ("Country"): C=de
- Ortsangabe ("Location"): L=Hamburg
- Bundeslandbezeichnung ("State or Province"): ST=Hamburg
- Organisation ("Organisation"): O=Universitaet Hamburg
Bei Verwendung der unten angegebenen Konfigurationsdatei sind diese Angaben entsprechend für Sie vorbelegt und brauchen nur noch bestätigt zu werden.
Die von Ihnen manuell anzugebenen Attribute des DN haben Sie im vorigen Schritt (Basisinfo ermitteln) bestimmt:
- Organisationsteil ("Organisational Unit"): OU="von Ihnen wählbar"; dieses Attribut müssen Sie mindestens einmal und können es bis zu dreimal pro Zertifikatsantrag vergeben. Falls Sie hier mehrere Organisationsteile nennen möchten, geben Sie die Namen bitte hierarchisch ein. Das folgende Beispiel verwendet die weiter unten beschriebene Konfigurationsdatei. Es werden die festgelegten Attribute (Laendername, Bundesland, Ortsbezeichnung und Name der Organisation durch ENTER bestätigt. Hinter den Bezeichnungen Abteilung, Unterabteilung und Gruppe verbergen sich die drei Eingabemöglichkeiten für die "OU"-Attribute. Im Beispiel werden alle drei Attribute belegt, hierarchisch von der Fakultätsbezeichnung bis zur Gruppenbezeichnung:
Laendername (bitte nicht aendern) [DE]:
Bundesland (bitte nicht aendern) [Hamburg]:
Ortsbezeichnung (bitte nicht aendern) [Hamburg]:
Name der Organisation (bitte nicht aendern) [Universitaet Hamburg]:
Abteilung (Beispiel: MIN-Fakultaet) [Min-Fakultaet]:MIN-Fakultaet
Unterabteilung (Beispiel: Fachbereich Mathematik) [Fachbereich Mathematik]:Department Informatik
Gruppe (Beispiel: Rechnerbetrieb) [Rechnerbetrieb]:FBI-RZ
Falls Sie nur eine oder zwei Hierarchieebenen angeben möchten, geben Sie diese bitte bei Abteilung bzw. bei Abteilung und Unterabteilung ein. Das Attribut Gruppe kann durch Eingabe eines Punktes (".") frei gelassen werden und erscheint dann auch nicht im Zertifikat(santrag). Im folgenden Beispiel wird das "OU"-Attribut nur einmal vergeben:
Laendername (bitte nicht aendern) [DE]:
Bundesland (bitte nicht aendern) [Hamburg]:
Ortsbezeichnung (bitte nicht aendern) [Hamburg]:
Name der Organisation (bitte nicht aendern) [Universitaet Hamburg]:
Abteilung (Beispiel: MIN-Fakultaet) [Min-Fakultaet]:Fachbereich Orientalistik
Unterabteilung (Beispiel: Fachbereich Mathematik) [Fachbereich Mathematik]:.
Gruppe (Beispiel: Rechnerbetrieb) [Rechnerbetrieb]:. - Rufname ("Common Name"): CN="Full Qualified Domain Name"
Darüber hinaus müssen Sie ein optionales Attribut angeben, nämlich die E-Mail-Adresse. Auch diese haben Sie im vorigen Schritt (Basisinfo ermitteln) bestimmt:
- E-Mail ("E-Mail"): E-Mail="von Ihnen wählbar"
Weitere Bestandteile
Weitere Bestandteile, wie beispielsweise die Bezeichnung des Signatur-Algorithmus und Attribute zur Kennzeichnung der Zertifikatsverwendung werden bei der Verwendung der u.a. Werkzeuge und Konfigurationsdateien automatisch in den Zertifikatsantrag eingefügt.
Erforderliche Software
Zur Erzeugung des PKCS#10-Antrags benötigen Sie die OpenSSL-Software. Diese Software ist frei erhältlich, muss aber ggf. auf Ihrem Rechner neu übersetzt werden. Dies ist in vielen Fällen für die spätere Verwendung der Zertifikate durch Programme wie beispielsweise dem Apache-WWW-Server ohnehin erforderlich.
Sie können die Zertifikatsanträge auf jedem Rechner mit installierter OpenSSL-Software erstellen. Es muss nicht notwendigerweise der Rechner sein, für den Sie das Zertifikat beantragen, jedoch wird es, wie eben angedeutet, für die Verwendung des Zertifikats auf dem jeweiligen Rechner i.d.R. ohnehin erforderlich sein, OpenSSL zu installieren.
OpenSSL wird durch Übergabe von diversen Parametern und Konfigurationsanweisungen gesteuert. Um Ihnen die Arbeit zu erleichtern, stellen wir eine Konfigurationsdatei bereit, die Sie für die folgenden Schritte verwenden können.
Generieren eines PKCS#10-Antrags inklusive RSA-Schlüsselpaar
Falls Sie Ihren Dienst bisher ohne Zertifikate betreiben, müssen Sie wahrscheinlich auch ein RSA-Schlüsselpaar (unsere Zertifikate erfordern den Einsatz des RSA-Verfahrens) erstellen. Der folgende Aufruf führt die Schlüsselgenerierung, die Abfrage eines Passworts für diesen Schlüssel, die Attribut-Abfrage und anschließende Erstellung des Zertifikatantrags durch:
openssl req -config uhh-generic-req.conf -newkey rsa:2048 -sha256 -outform PEM -out certreq.pem
Hierbei bedeuten die einzelnen Befehlsteile folgendes:
- openssl: ist der Programmname des openssl-Kommandos. Eventuell müssen Sie auf UNIX-Systemen hier den gesamten Pfad angeben, beispielsweise /usr/local/ssl/bin/openssl
- req: Weist OpenSSL an, einen PKCS#10 Zertifikatsantrag zu erstellen.
- -config: Weist OpenSSL an, einige erforderlichen Angaben (z.B. die festgelegten Attribute) aus der Datei "uhh-generic-req.conf" zu laden. Diese Datei finden Sie unter dem oben angegebenen URL.
- -newkey rsa:2048: Weist OpenSSL an, den öffentlichen Schlüssel, der Teil des Zertifikatsantrags ist, zusammen mit einem privaten Schlüssel neu zu erstellen. Dies soll ein RSA-Schlüssel mit einer Länge von 2048-Bit sein.
- -sha256: Weist OpenSSL an, als Streualgorithmus für die Erstellung von kryptographisch sicheren Prüfsummen den "Secure Hash Algorithm Nr. 256" zu verwenden.
- -outform PEM: Weist OpenSSL an, für den Antrag das von der CA geforderte "Privacy Enhanced Mail"-Format zu verwenden.
- -out certreq.pem: Weist OpenSSL an, den Antrag in die Datei "certreq.pem" zu speichern.
Achtung: Darüber hinaus wird durch Informationen in der Konfigurationsdatei OpenSSL dazu veranlasst, den neu zu erstellenden privaten Schlüssel in die Datei "server-key.pem" zu speichern. Falls Sie also mehrere Anträge hintereinander stellen wollen, dann müssen Sie sowohl die Datei "certreq.pem" als auch die Datei "server-key.pem" nach jedem Durchgang umbenennen, damit die Anträge bzw. die Schlüssel nicht bei jedem Durchgang überschrieben werden.
Erstellen eines PKCS#10-Antrags für vorhandene Schlüssel
Möglicherweise setzen Sie schon ein selbst erstelltes Zertifikat ein und haben dafür bereits einen Schlüssel erstellt. Falls es sich um einen RSA-Schlüssel mit einer Länge von mindestens 1024 Bit und höchstens 2048 Bit handelt, können Sie diesen Schlüssel für Ihr neues Zertifikat weiter verwenden. Hierzu übergeben Sie dem obigen Aufruf den zusätzlichen Parameter "-key
Falls der Dateiname nicht auf ".pem" oder ".der" endet, sollten Sie zusätzlich mit dem Parameter "-keyform PEM" bzw. "-keyform DER" das Dateiformat des gespeichertern Schlüssels angeben. Beispiel:
openssl req -config uhh-generic-req.conf -new -key server.key -keyform PEM -sha256 -outform PEM -out certreq.pem
In diesem Beispiel wird der in der Datei "server.key" vonhandene Schlüssel verwendet. Es handelt sich um einen "PEM" kodierten Schlüssel.
Nächster Schritt
Den eben erstellten PKCS#10-Antrag können Sie nun mit einem Web-Browser in das Antragsformular für Server-Zertifikate der UHH CA einfügen. Hierzu wählen Sie auf der Seite mit den Teilnehmerservicestellen der UHH die für Sie passende Teilnehmerservicestelle aus und folgen dem dort angegebenen Verweis auf die Webschnittstelle mit dem Antragsformular.
Falls Sie einen neuen Schlüssel erstellt haben, speichern Sie diesen ab. Er wird später von den Diensten für die Verschlüsselung und Authentifikation der Verbindungen verwendet und muss daher unbedingt aufbewahrt werden. Dieser Schlüssel darf darüber hinaus auf keinen Fall an dritte weiter gegeben werden. Dies würde die Sicherheit des von Ihnen betriebenen Dienstes kompromittieren.
Das im Zuge der Beantragung von der UHH CA generierte Antragsformular wird als PDF-Datei für Sie generiert. Prüfen Sie die Angaben innerhalb dieses Dokuments und senden es anschließend mit der Bitte um Bestätigung per E-Mail an die "Akkreditierte Person" Ihrer Einrichtung. Falls Sie aus den Bereichen UKE, Physik, Chemie oder Informatik kommen, können Sie mit dem Antragsformular direkt zu Ihren Teilnehmerservice-Mitarbeiter gehen. Diese Kollegen sind bei Ihnen vor Ort erreichbar; Sie finden sie auf der Seite der Teilnehmerservicestellen der UHH.
Sie erhalten dann per E-Mail das Server-Zertifikat.