Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 3 Nächste Version anzeigen »

Wie Sie einen CSR (Certificate Signing Request, deutsch: Zertifikatsignierungsanforderung) unter Linux (hier: Ubuntu) erstellen, erfahren Sie in der Schritt-für-Schritt-Anleitung.


Um ein Zertifikat von einer CA (Certificate Authority) anzufordern, muss ein "Certificate Signing Request" (CSR) erstellt werden. Ein CSR ist ein digitaler Antrag, aus einem öffentlichen Schlüssel ein digitales Zertifikat zu erstellen. Voraussetzung hierfür ist wiederum ein privater Schlüssel.

Schritt-für-Schritt-Anleitung

Privaten Schlüssel erzeugen


Hinweis

Der private Schlüssel sollte immer auf eigens verwalteten Systemen erzeugt und gespeichert werden und niemals Dritten in die Hände gegeben werden - auch nicht der signierenden CA.


Öffnen Sie ein Terminal-Fenster.

Im folgenden Beispiel soll der private Schlüssel als /etc/ssl/private/private.key erzeugt werden. Da normale Benutzer auf diesen Ordner keinen Zugriff haben, sollte zunächst ein Root-Terminal mittels

Terminal
sudo -i

geöffnet werden.


Der private Schlüssel wird nun mit dem folgenden Kommando erzeugt:

Terminal
openssl ecparam -out /etc/ssl/private/private.key -name secp521r1 -genkey

Mit -name secp521r1 wird der Verschlüsselungs-Algorithmus festgelegt. Bei Nutzerzertifikaten ist zu beachten, dass Zertifikate mit den ECC-Schlüsseltypen secp384r1 und secp256k1 nur für Signatur und Authentisierung, aber nicht für Verschlüsselung verwendet werden können.

Alternative: Den privaten Schlüssel zusätzlich mit einem Passwort versehen

Das o.g. Kommando erzeugt einen privaten Schlüssel, der nicht durch ein Passwort geschützt ist.

Das ist notwendig, da z.B. Apache-Server sonst bei jedem Neustart die manuelle Eingabe des Passworts verlangen würde oder diese in der Konfiguration im Klartext hinterlegt werden müsste.

Wenn Sie Ihren privaten Schlüssel dennoch zusätzlich mit einem Passwort versehen möchten, geben Sie stattdessen folgendes Kommando und anschließend das zu vergebende Passwort ein:

Terminal
openssl genpkey -aes256 -algorithm EC -pkeyopt ec_paramgen_curve:P-521 -out /etc/ssl/private/private.key


Beenden Sie den Root-Zugriff indem Sie

Terminal
exit

eingeben.

CSR erzeugen

Als nächstes kann nun der CSR public.csr erzeugt werden. Dieser beinhaltet keine sensiblen Daten und kann deshalb an einer beliebigen Stelle erstellt werden, wo man ihn später wieder findet.

Im folgenden Beispiel wird der CSR im eigenen Heimatverzeichnis abgelegt.

Terminal
sudo openssl req -new -key /etc/ssl/private/private.key -out ~/public.csr


Nach Bestätigen des Befehls mit der Eingabetaste werden Details zum Inhalt des Zertifikates abgefragt. Füllen Sie das Formular wie im Beispiel unten aus. Manche Einträge sind //optional und können mit der Eingabetaste übersprungen werden.


Wenn Sie ein Serverzertifikat beantragen

Common Name:

Hier muss der Domainname stehen, für welchen das Zertifikat eingesetzt werden soll (bspw. testseite.hhu.de).


Terminal
Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:Nordrhein-Westfalen 
Locality Name (eg, city) []:Duesseldorf
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Heinrich-Heine-Universitaet Duesseldorf
Organizational Unit Name (eg, section) []:ZIM
Common Name (e.g. server FQDN or YOUR name) []: //optional, z.B. testseite.hhu.de
(der Domainname, wenn Sie ein Serverzertifikat beantragen)
Email Address []:vorname.nachname@hhu.de //(Ihre Mailadresse)

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: //optional
An optional company name []: //optional
  • Keine Stichwörter