Erstellen einer Certificate Signing Request (CSR) mit OpenSSL für Benutzerzertifikate (S/MIME, Document Signing)

In diesem Artikel beschreiben wir wie Sie mit Hilfe von OpenSSL eine CSR zur Beantragung eines Benutzerzertifikates zum Signieren von Dokumenten und E-Mails erstellen.

Einführung

Wenn Sie ein Benutzerzertifikat 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. Privatpersonen ohne Firma können Ihren Namen angeben (vgl. Common Name).
OU Organizational Unit Name der zuständigen Abteilung. Diese Angabe ist optional.
CN Common Name Der Name, auf welchen das Zertifikat ausgestellt weden soll. Zum Beispiel Max Mustermann.

Möchten Sie eine CSR für einen anderen Zertifikatstyp (z.B. SSL-Zertifikate) 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=Max Mustermann"

Sie werden anschließend von OpenSSL zur Eingabe eine Passworts aufgefordert. ...

Ü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