Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.


Info

Diese Seite befindet sich aktuell noch im Aufbau (Warnung)


UI Text Box
sizemedium
typeinfo

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

Um ein Nutzerzertifikat 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

Info
titleHinweis

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.

...

1. Öffnen Sie ein → „Terminal“-Fenster. Im folgenden Beispiel soll der private Schlüssel als /etc/ssl/private/private.keypem erzeugt werden. Da normale Benutzer auf diesen Ordner keinen Zugriff haben, sollte sollten Sie sich zunächst ein Root-TerminalZugriffsrechte mittels

Codeblock
languagebash
titleTerminal
sudo -i

geöffnet werdenverschaffen.


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

Codeblock
languagebash
titleTerminal
openssl ecparamgenpkey -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out /etc/ssl/private/private.key -name secp521r1 -genkeypem


Info
titleHinweis

Mit -name secp521r1 rsa_keygen_bits:4096 wird der Verschlüsselungs-Algorithmus festgelegt.

Empfehlung:

  • RSA-4096

Grund: Nutzerzertifikate Bei Nutzerzertifikaten ist zu beachten, dass Zertifikate mit den ECC-Schlüsseltypen secp384r1 384 und secp256k1 265 können nur für Signatur und Authentisierung, aber nicht für Verschlüsselung verwendet werden können.

  

Info
titleAlternative: 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:

Codeblock
languagebash
titleTerminal
openssl genpkey -aes256 -algorithm ECRSA -pkeyopt ecrsa_paramgenkeygen_curvebits:P-5214096 -out /etc/ssl/private/private.key.pem

Das Passwort muss mindestens 4 Zeichen lang sein.


3. Beenden Sie den Root-Zugriff indem Sie

Codeblock
languagebash
titleTerminal
exit

eingeben.

CSR erzeugen

Als nächstes kann nun der 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.

Codeblock
languagebash
titleTerminal
sudo openssl req -new -key /etc/ssl/private/private.keypem -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.

...

Denken Sie unbedingt daran, die richtige E-Mail-Adresse ( vorname.nachname@hhu.de ) anzugeben!!


Info
titleWenn Sie ein Serverzertifikat beantragen

Common Name (e.g. server FQDN or YOUR name) []: Hier muss der Domainname stehen, für welchen das Zertifikat eingesetzt werden soll (bspw. testseite.hhu.de).

...