subjectAltName = @alt_names
In dieser Anleitung werden die notwendigen Schritte gezeigt, um eine Zertifikatsignierungsanforderung (Certificate Signing Request - CSR) zu erstellen. Diese wird benötigt, um ein Serverzertifikat zu beantragen. Für Windows-Server empfehlen wir die Benutzung des Assistenten (Internet Service Manager) für die Generierung des CSRs.
Schritt 1: Herunterladen der luh-ca.cnf
Um den CSR zu vereinfachen, laden Sie die Konfigurationsdatei luh-ca.cnf herunter. Diese enthält bereits einige angepasste Parameter, die für Serverzertifikate der LUH notwendig sind.
Schritt 2: Anpassen der luh-ca.cnf (falls es mehrere Namen gibt)
Falls Sie zusätzliche Namen (Subject Alternative Names) im Zertifikat angeben wollen, müssen Sie die luh-ca.cnf anpassen. Falls Sie das Zertifikat nur auf einen Namen ausstellen wollen, können Sie diesen Schritt überspringen. Folgende Änderungen an der Konfigurationsdatei sind für mehrere Namen notwendig:
Einkommentieren ("#" entfernen) des Parameters subjectAltName:
Eintragen der gewünschten Namen in den Parametern DNS.1, DNS.2, …:
DNS.1 = example1.luis.uni-hannover.de DNS.2 = example2.luis.uni-hannover.de
Schritt 3: Erstellen des CSR
Nun wird der CSR mit einem openssl-Befehl erstellt. Die grundlegend erforderlichen Angaben (inkl. des Common Names) werden nach Ausführen des Befehls erfragt. Sie müssen sich ein Passwort zum Schutz des privaten Schlüssels überlegen. Da Sie die luh-ca.cnf verwenden, sind einige Parameter schon vorausgefüllt. Somit können Sie alle Fragen (bis auf den Common Name und die Passwort-Abfrage) einfach mit "Enter" bestätigen. Der Befehl und eine beispielhafte Ausgabe finden Sie hier:
$ openssl req -config luh-ca.cnf -new -keyout server-key.pem -out server-req.pem Generating a RSA private key ..........................................................................................................................+++++ ........................+++++ writing new private key to 'server-key.pem' Enter PEM pass phrase: Verifying - Enter PEM pass phrase: ----- 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]: Common Name (Servername FQDN) []:example.luis.uni-hannover.de
Schritt 4: Überprüfen des CSR
Den erstellten CSR können Sie auf Richtigkeit überprüfen. Der Befehl und eine beispielhafte Ausgabe finden Sie hier:
$ openssl req -text -noout -verify -in server-req.pem -inform PEM
verify OK
Certificate Request:
Data:
Version: 1 (0x0)
Subject: C = DE, ST = Niedersachsen, L = Hannover, O = Leibniz Universitaet Hannover, CN = example.luis.uni-hannover.de
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public-Key: (4096 bit)
Modulus:
00:c9:71:f7:b5:7b:ac:33:5b:ad:96:71:d7:2a:21:
[…]
97:9f
Exponent: 65537 (0x10001)
Attributes:
Requested Extensions:
X509v3 Basic Constraints:
CA:FALSE
X509v3 Key Usage:
Digital Signature, Non Repudiation, Key Encipherment
Signature Algorithm: sha256WithRSAEncryption
76:a6:ca:1e:76:35:f9:3d:5b:e0:7f:a6:66:bc:41:ce:85:99:
[…]
79:10:de:37
Nun können Sie mit der Beantragung des Serverzertifikats (Schritt 2) fortfahren. Die Datei server-req.pem ist die dafür benötigte Request-Datei. Die Datei server-key.pem ist ihr privater Schlüssel, den Sie später zusammen mit dem Zertifikat (was Sie ganz am Ende erhalten) auf den Server einpflegen können.