Erstellen eines Server-Zertifikat

Um im Internet einen Serverdienst aufsetzen, der verschlüsselte SSL- oder TLS-Verbindungen anbietet (z.B. HTTPS, POP3S, IMAPS, LDAPS, SMTP mit TLS), benötigt man ein Serverzertifikat. Dieses muß zuvor von einer Zertifizierungsstelle (Certification Authority oder kurz CA) signiert werden.

Dabei ist offizielles Serverzertifikat, das von einer offiziellen Stelle signiert ist, nicht umsonst zu haben. Hier werden gerne jährliche Gebühren in Höhe von mehreren hundert Euro fällig.

Dagegen kann man unter Linux eine eigene CA aufsetzen und ein selbst Zertifikate erstellen respektive signieren. Das ist ein Vorgang von wenigen Minuten, der hier präsentiert werden soll.

Der einzige Unterschied zu einem von einer kostenpflichtigen Stelle signierten Zertifikat ist, dass der Client (eMail-Agent, Browser, etc.) eine Warnung ausgeben wird, dass er die CA nicht kennt. Der Benutzer muss dann einmal bestätigen und kann das Zertifikat trotzdem akzeptieren.Dennoch kann man sich bei CAcert kostenlos registrieren lassen und mit der entsprechenden Anzahl von Vertrauenspunkten seine Zertifikate signieren lassen.
Inzwischen akzeptieren die gängigen Browser auch CAcert.

Installation von OpenSSL

Wir benötigen für die Zertifikaterstellung auf alle Fälle das Paket openssl, daß sich mit

apt-get install openssl

installieren läßt.

Generieren der Certification Authority CA

Legen wir uns eigens ein Verzeichnis an und wechseln in dieses

# mkdir /etc/ssl-cacert
# cd /etc/ssl-cacert