Erstellen einer Certificate Signing Request (CSR) mit OpenSSL

In diesem Artikel beschreiben wir wie Sie mit Hilfe von OpenSSL eine CSR zur Beantragung eines SSL-Zertifikat erstellen.

Einführung

Wenn Sie ein SSL-Zertifikat bestellen, werden Sie nach eine CSR gefragt. CSR steht für Certificate Signing Request, also ein Antrag auf Ausstellung eines SSL-Zertifikats. Neben der CSR benötigen Sie einen geheime Schlüsseldatei, welche wie der Name vermuten lässt, ausschließlich bei Ihnen verbleibt und sicher vor dem Zugriff durch Dritte geschützt werden muss.

In dieser Anleitung beschreiben wir wie Sie eine CSR mit Hilfe der verlinkten Open-Source Anwendung OpenSSL erstellen. OpenSSL ist für zahlreiche Betriebssysteme verfügbar und in der Regel auf Linux Systemen vorinstalliert.

Installation von OpenSSL

Sollte OpenSSL noch nicht installiert sein, können Sie die Installation wie folgt durchführen:

Ubuntu

$ apt-get install openssl

RHEL / Centos

$ yum install openssl

Windows 10

Installieren Sie das Linux Subsystem unter Windows 10. Folgen Sie hierzu dem verlinkten Microsoft Artikel. 

Benötigte Informationen

Sie benötigen die folgenden Informationen, welche sich auf den Betreiber des Internet-Angebots beziehen:

Name Bezeichnung Beschreibung
C Country Ihr Land als 2-Buchstabencode nach ISO31661-1. Zum Beispiel DE für Deutschland.
ST State Das Bundesland, zum Beispiel Hessen, Bayern, ...
L Locality Die Stadt, zum Beispiel, Essen, Duesseldorf, Bremen, ...
O Organization Der vollständige Firmenname inkl. Rechtsform. 
OU Organizational Unit Name der zuständigen Abteilung. Diese Angabe ist optional.
CN Common Name Der Domainname, für welchen das Zertifikat ausgestellt weden soll. Zum Beispiel www.idnt.de.
Für ein Wildcard-Zertifikat verwenden Sie zum Beispiel *.idnt.de

Möchten Sie eine CSR für einen anderen Zertifikatstyp (z.B. Benutzerzertifikate) erstellen, folgen Sie den Links unter Verwandte Artikel.

Achten Sie insbesondere bei dem Common Name (CN) auf die richtige Schreibweise. Die Informationen können in der Regel nicht mehr korrigiert werden, nachdem das Zertifikat ausgestellt wurde.

Hinweis

Die folgenden Zeichen dürfen nicht Bestandteil der Organizational Unit (OU) oder Organization (O) sein: < > ~ ! @ # $ % ^ * / \ ( ) ?.,&

Erstellen der Schlüsseldatei

Führen Sie den folgenden Befehl aus um eine RSA Schlüsseldatei zu generieren:

$ openssl genrsa -out meine-schlüsseldatei.key 2048

Die 2048 beschreibt hierbei die Länge des Schlüssel in bit.

Erstellen der Certificate Signing Request

Führen Sie folgenden Befehl zum Erstellen der CSR aus:

$ openssl req -new -sha256 -key meine-schlüsseldatei.key -out meine-csr.pem 

und Sie werden nach den oben aufgeführten Angaben gefragt. Alternativ könnne Sie diese auch gleich auf der Kommandozeile mit angeben. Beispiel:

$ openssl req -new -sha256 -key meine-schlüsseldatei.key -out meine-csr.pem -subj "/C=DE/ST=Hessen/L=Frankfurt am Main/O=IDNT Europe GmbH/CN=www.idnt.de"

Sie werden anschließend von OpenSSL zur Eingabe eine Passworts aufgefordert. Wenn Sie ein Passwort vergeben, müssen Sie dieses später in der Konfiguration des Webservers angeben. Das Passwort trägt in diesem Fall daher wenig zum Schutz bei.

Wir empfehlen daher kein Passwort zu vergeben. Lassen Sie das Feld hierzu leer und bestätigen Sie es einfach mit Eingabe.

Überprüfen der CSR

Mit folgendem Befehl können Sie sich die Informationen nochmals ausgeben lassen:

$ openssl req -noout -text -in meine-csr.pem

Achten Sie insbesondere auf die Angaben hinter der Ausgabe Subject:

Übermitteln an die Zertifizierungsstelle (CA)

Geben Sie nun den Inhalt der CSR Datei aus um diesen per Copy + Paste in die Eingabemaske der Zertifizierungstelle zu übertragen:

$ cat meine-csr.pem