...
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 | ||
---|---|---|
| ||
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 | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
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 | |||||||
---|---|---|---|---|---|---|---|
| |||||||
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:
|
Beenden Sie den Root-Zugriff indem Sie
Codeblock | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
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.
...