Versionen im Vergleich

Schlüssel

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

...

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

...

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.

...

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

Codeblock
languagebash
titleTerminal
sudo -i

...

Der private Schlüssel wird nun mit dem folgenden Kommando erzeugt:Im Beispiel wird zunächst der private Schlüssel test.key mit folgendem Kommando im Ordner Downloads erzeugt:

Codeblock
languagebash
titleTerminal
sudo openssl ecparam -out /etc/ssl/private/testprivate.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.

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 EC -pkeyopt ec_paramgen_curve:P-521 -out /etc/ssl/private/private.key



Beenden Sie den Root-Zugriff indem Sie

Codeblock
languagebash
titleTerminal
exit

eingeben.

CSR erzeugen

Als nächstes kann nun der CSR privatepublic.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 /homeetc/[Benutzername]ssl/Downloadsprivate/private.key -out ~/privatepublic.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.

...