• Zielgruppen
  • Suche
 

Schlüssel und Zertifikatsantrag (CSR) mit OpenSSL erstellen

Für ein Serverzertifikat muss zunächst ein Schlüsselpaar erzeugt und dann ein Zertifizierungsantrag (certificate signing request, CSR) erzeugt werden. Dieser CSR wird dann auf der CA-Webseite zur Beantragung hochgeladen. Hier sind die meist ausreichenden Schritte beschrieben, ausführlicher ist es in der DFN-OpenSSL-Anleitung zu finden.

Erzeugen des Schlüsselpaares mit openssl

Das Erstellen des CSR wird durch die Vorbelegung der notwendigen Parameter mit der vorbelegten Request-Konfigurationsdatei luh-ca.cnf vereinfacht:

$ openssl req -config luh-ca.cnf -new -keyout server-key.pem -out server-req.pem

 

Alternativ ohne Vorbelegung aus der speziellen Config-Datei:

$ openssl req -newkey rsa:2048 -keyout server-key.pem -out server.req

 

Der private Schlüssel (server-key.pem) muss sicher verwahrt werden und darf für Dritte nicht zugänglich bzw. lesbar sein.

Während des Generierungsvorgangs fordert OpenSSL die Eingabe eines Passwortes für den privaten Schlüssel (PEM pass phrase). Wenn Sie möchten, dass beim Systemstart der Dienst automatisch gestartet wird, der auf das Zertifikat zurückgreift (für den Sie das Zertifikat beantragen), sollten Sie OpenSSL mit der Option -nodes benutzen oder anschließend eine Kopie des privaten Schlüssels ohne Passwort erstellen (s.u.).

Generating a 2048 bit RSA private key
...................................................+++
.....+++
writing new private key to 'server-key.pem'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:

Erzeugen des Zertifizierungsantrages

Anschließend werden Sie nach den Inhalten Ihres Antrags gefragt. Geben Sie das Kürzel Ihrer Organisationseinheit (organizational unit name, OU) an, die Angaben zum Staat (C), Land (ST), der Stadt (L) und der Organisation (O) sind wie im Folgenden abgebildet fest vorgegeben. Denken Sie insbesondere daran, den Common Name (CN) korrekt auszufüllen: dieser wird Benutzern später bei der Verwendung Ihres Zertifikats angezeigt, der Common Name sollte also der Name sein, unter dem die Benutzer Ihren Server ansprechen (falls Sie mehrere Namen benötigen, sehen Sie sich bitte die luh-ca.cnf-Textdatei unter dem Stichwort SNI an).

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (=DE) [DE]:
State or Province Name (=Niedersachsen) [Niedersachsen]:
Locality Name (=Hannover) [Hannover]:
Organization Name (=Leibniz Universitaet Hannover) [Leibniz Universitaet Hannover]:
Organizational Unit Name (Einrichtungskuerzel) []:LUIS
Common Name (Servername FQDN) []:example.luis.uni-hannover.de
Email Address [support@luis.uni-hannover.de]:

Entfernen des Passworts

Wurde der private Schlüssel mit einem Passwort erzeugt, kann dies mit

$ openssl rsa -in server-key.pem -out server-key_nopass.pem
Enter pass phrase for server-key.pem:
writing RSA key

 

entfernt werden. Die Datei server-key_nopass.pem enthält den Schlüssel ohne Passwortschutz.