Aktualisiert am 12.03.2009
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