Erstellung des Wurzel- und des Server-Zertifikats

Im Kern bin ich der Anleitung unter http://guxx.de/2007/06/19/openssl-zertifikate-selbst-gemacht/ gefolgt. Alles Weitere findet sich in der OpenSSL-Dokumentation.

Erzeugen der Schlüssel und Zertifikate:

CA-Root-Zertifikat erzeugen:

openssl req -x509 -newkey rsa:2048 -keyout cakey.pem -out cacert.pem -days 1460

Privaten Schlüssel für Server erzeugen:

openssl genrsa -out serverkey.pem -aes128 2048 -days 365

Privaten Schlüssel exportieren (sonst muss bei jedem Neustart die Passphrase eingegeben werden):

openssl rsa -in serverkey.pem -out serverkey.pem

Certificate Request erzeugen:

openssl req -new -key serverkey.pem -out req.pem -nodes

Anpassen von /etc/ssl/openssl.cnf, damit die Dateien gefunden werden. Außerdem wird eine leere Datei index.txt und eine Datei serial mit dem Inhalt "00" angelegt.

Erzeugen des signierten Zertifikats aus dem Certificate Request

openssl ca -in req.pem -notext -out servercert.pem

Sonstiges

Schlüssel ausgeben:

openssl rsa -in cakey.pem -noout -text

Zertifikat ausgeben:

openssl x509 -noout -text -in cacert.pem

Import und Konvertierung: Das Root-Zertifikat kann in Windows importiert werden, wenn man ihm die Namensendung .crt verpasst. Mit demselben Assistenten kann man es dann auch in binärform abspeichern.