Hier noch ein aktueller Zusatz zum
letzten CAcert-Artikel: Beim Erzeugen eines neuen Serverzertifikats mit mehr Hostnamen ist mir eine Option im CAcert-Webinterface aufgefallen. Man hat die Wahl zwischen
Sign by class 1 root certificate und
Sign by class 3 root certificate mit dem Hinweis
Please note: The class 3 root certificate needs to be setup in your webserver as a chained certificate, while slightly more complicated to setup, this root certificate is more likely to be trusted by more people.
Das klang erstmal gut, stellte sich aber dank weitgehend fehlender und/oder veralteter Dokumentation als längeres Unterfangen heraus. Hier daher die ausgearbeitete schnelle Lösung:
Class 3- und Root-Zertifikat von CAcert herunterladen, zu einer Datei zusammenfassen und an eine passende Stelle kopieren:
wget https://secure.cacert.org/certs/class3.crt
wget https://secure.cacert.org/certs/root.crt
cat class3.crt > CAcert-chain.pem
cat root.crt >> CAcert-chain.pem
cp CAcert-chain.pem /etc/ssl/certs/
Im Apache dann mindestens die erste Zeile hinzufügen. Die zweite empfehle ich aus Sicherheitsgründen auch - damit werden veraltete SSL-implementationen abgelehnt, was einen Manipulationsschutz bietet:
SSLCertificateChainFile /etc/ssl/certs/CAcert-chain.pem
SSLCipherSuite HIGH:-SSLv2
Danach den Apache neu starten und prüfen, ob die Zertifikatskette mitgesendet wird.
Bei der Suche nach der Lösung bin ich übrigens auf
berts linux blog gestoßen. Werde ich mal abonnieren.