====== Erstellen eines CSR ======
Ein Certificate Signing Request (CSR) ist ein Antrag auf erteilung eines Zertifikates, mit dem die Kommunikation zwischen Server und Client abgesichert werden kann.
===== Erstellung eines privaten Schlüssels =====
Zur Erstellung eines CSR ist ein privater Schlüssel erforderlich. Ist dieser noch nicht erstellt worden, so kann dies leicht mit dem folgenden Kommando erledigt werden.
openssl genrsa -out private_key.pem 4096
===== Erstellung des CSR =====
Zur besseren Reproduzierbarkeit können die Einstellungen für den CSR in einer Datei abgelegt werden, die dann zur Erzeugung des CSR verwendet wird. Alternativ kann der CSR auch interaktiv erstellt werden indem die Werte von openssl erfragt werden. In diesem Beispiel wird nur auf die erste Variante eingegangen.
Die Konfigurationsdatei in diesem Beispiel sieht wie folgt aus. Dabei ist hier die Organisation Unit (Abteilung) auskommentiert. Wollen Sie diese mit angeben, so entfernen Sie einfach das #-Zeichen und tragen Sie den Abteilungsnamen ein.
[req]
distinguished_name = req_distinguished_name
prompt = no
[req_distinguished_name]
C = DE
ST = Bundesland
L = Stadt
O = meine Organisation
#OU =
CN = www.meineAdresse.de
Soll mehr als eine Adresse im CSR enthalten sein, so muss die Datei noch etwas länger werden:
[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req
prompt = no
[req_distinguished_name]
C = DE
ST = Bundesland
L = Stadt
O = meine Organisation
#OU =
CN = www.meineAdresse.de
[v3_req]
keyUsage = keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = www.meineAdresse.de
DNS.2 = meineAdresse.de
DNS.3 = mx.meineAdresse.de
DNS.4 = www.alternativeAdresse.de
DNS.5 = alternativeAdresse.de
Mit dieser Datei kann nun der CSR erstellt werden.
openssl req -new -key private_key.pem -config req.cfg -out meineAdresse_de_csr.pem
Dieser CSR kann nun an eine Certificate Authority (CA) übermittelt werden oder zu Testzwecken mittels einer [[p:tls:test_ca_erstellen_und_csr_signieren|eigenen CA]] signiert werden.
Vor der Übermittlung an eine CA kann der CSR [[https://www.networking4all.com/en/ssl+certificates/csr+check/|hier]] geprüft werden, ob er inhaltlich korrekt ist und ob es Bedenken gegen das Zertifikat gibt.