CAcert

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Artikel für fortgeschrittene Anwender

Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Pakete installieren

  2. Paketquellen verwalten

Inhaltsverzeichnis
  1. S/MIME
  2. Zertifizierungsstellen
  3. Voraussetzungen
  4. S/MIME mit E-Mail nutzen
  5. Webserver
  6. Links

cacert_logo.png CAcert 🇬🇧 ist eine Zertifizierungsstelle (CA) und ein Community-Projekt. Dadurch ist es möglich, kostenlos ein Zertifikat zu erhalten und selbst am Web of Trust teilzunehmen. Ein Zertifikat wird normalerweise in zwei Bereichen verwendet: zur SSL-Verschlüsselung eines Webservers (HTTPS) und zur E-Mail-Verschlüsselung. Zertifikate werden in verschiedene Klassen eingeteilt.

Im Folgenden wird beschrieben, wie man sich ein Zertifikat bei CAcert erstellt und dies mit verschiedenen E-Mail Programmen wie Evolution oder Thunderbird nutzt, um E-Mails mit S/MIME zu signieren und/oder zu verschlüsseln. Des Weiteren wird erklärt, wie man die sog. Root-Zertifikate von CAcert importiert, um z.B. die Signatur anderer Personen zu überprüfen.

Das beschriebene Verfahren funktioniert analog auch für Zertifikate anderer kommerzieller Herausgeber bzw. Zertifizierungsstellen. Hinweise zur SSL-Verschlüsselung eines Webservers sind in den Abschnitten Webserver und Links zu finden.

S/MIME

S/MIME basiert auf dem IETF-Standard X.509 und ist eine Technik zum Signieren und/oder Verschlüsseln von E-Mails. Mit GnuPG gibt es eine Alternative für sichere Verschlüsselung. Diese wird aber nicht von so vielen, insbesondere kommerziellen Mailprogrammen unterstützt wie S/MIME und erfordert die Installation zusätzlicher Software. Dafür ist GnuPG im akademischen Bereich und unter Linux sehr verbreitet.

Vorteile

Nachteile

Letztlich stellt sich hier die gleiche Frage wie bei Skype: für welches Verfahren man sich entscheidet, hängt vom Kommunikationspartner ab.

Zertifizierungsstellen

Kommerzielle Zertifizierungsstellen

Eigene Zertifizierungsstelle

CAcert

Alternativen zu CAcert

Es gibt nur sehr wenige Alternativen zu CAcert, um ein kostenloses S/MIME Zertifikat zur E-Mail-Verschlüsselung zu erhalten. Zum Beispiel erhalten Freemail-Nutzer 🇩🇪 bei Web.de ein 1 Jahr gültiges Class 1 Zertifikat, das nach Ablauf automatisch erneuert wird, aber erneut heruntergeladen und importiert werden muss. Weitere Möglichkeiten sind in diesem mozillaZine Artikel 🇬🇧 zu finden.

Voraussetzungen

CAcert Root-Zertifikate importieren

Egal, ob man nur mit CAcert gesicherte Internetseiten aufrufen möchte, E-Mails verschlüsseln und/oder signieren oder nur überprüfen möchte: ohne importierte CAcert Root-Zertifikate bekommt man in der Regel eine Fehlermeldung, dass die Zertifizierungsstelle dem Webbrowser / Mailprogramm unbekannt ist. Um zumindest für den Browser zu klären, ob die Root-Zertifikate von CAcert installiert sind, ruft man die folgende Internet-Adresse auf: https://cacert.org/ Erfolgt ein Hinweis auf eine ungesicherte Verbindung, fehlen diese.

Um die Root-Zertifikate in verschiedenen Programmen verwenden zu können, ist es ratsam, keine Ausnahmeregel im Browser zu definieren, sondern die Root-Zertifikate einzeln herunterzuladen und zu speichern, um sie anschließend in die verschiedenen Programme zu importieren.

Heruntergeladen werden müssen folgende Dateien 🇩🇪 ⮷:

Hinweis:

Das Herunterladen der Dateien geht am einfachsten mit einem Rechtsklick (rechte Maustaste) auf das jeweilige Zertifikat und anschließend "Ziel speichern unter..."

Nach dem Import (siehe unten) kann man zum Testen erneut die Adresse https://cacert.org/ aufrufen.

Mozilla Firefox

./cacert_firefox_import.png In Firefox reicht es, die oben verlinkten Dateien zu öffnen. Firefox fragt dann, ob das Zertifikat importiert werden soll. Mit Klick auf "OK" bestätigen.

Falls dieser Weg nicht möglich ist, importiert man die beiden Zertifikate über "Bearbeiten -> Einstellungen -> Erweitert -> Zertifikate -> Zertifikate anzeigen -> Zertifizierungsstellen -> Importieren...".

Die importierten Zertifikate sind sofort aktiv, d.h. man braucht Firefox nicht neu starten.

Chromium

Um die Zertifikate in Chromium zu importieren, muss das Paket libnss3-tools installiert sein:

  • libnss3-tools

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install libnss3-tools 

sudo aptitude install libnss3-tools 

Danach wird das Root-Zertifikat sowie das Intermediate-Zertifikat importiert:

certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n ca-cert -i Downloads/root.crt
certutil -d sql:$HOME/.pki/nssdb -A -t ",," -n ca-cert-class3 -i Downloads/class3.crt 

./cacert_chromium_ssl.png Chromium muss im Gegensatz zu Firefox neu gestartet werden, um die neuen Zertifikate zu verwenden.

Evolution

Um die Root-Zertifikate in Evolution zu importieren, muss man folgende Schritte durchführen: "Bearbeiten -> Einstellungen -> Zertifikate -> Zertifizierungsstellen -> Importieren" und nun noch die gewünschte Zertifikatsdatei auswählen.

Thunderbird

Das Vorgehen ist im Artikel E-Mail-Verschlüsselung mit S/MIME 🇩🇪 aus dem Thunderbird Wiki ausführlich beschrieben.

Git

Wenn mit git von einem Server geklont werden soll, welcher ein CACert Zertifikat besitzt, kann es zu den Fehler "server certificate verification failed" kommen. Hier ist es notwendig die Root Zertifikate mit den folgenden Befehlen dem System hinzuzufügen CACert#Debian.

wget http://www.cacert.org/certs/root.crt http://www.cacert.org/certs/class3.crt
sudo cp root.crt /usr/local/share/ca-certificates/cacert-root.crt
sudo cp class3.crt /usr/local/share/ca-certificates/cacert-class3.crt
sudo update-ca-certificates 

CAcert Mitglied werden

Über die Internetadresse Join CAcert 🇬🇧 kann man sich jederzeit zur Teilnahme anmelden. Folgende Angaben werden verlangt:

Nach Abschicken dieser Angaben erhält man eine E-Mail an die angegebene E-Mail Adresse. Enthalten ist ein Link auf eine Webseite, auf der man nun den Antrag bestätigt. Dies muss innerhalb von 24 Stunden geschehen!

Client Zertifikat beantragen

Anschließend und in Zukunft kann man sich über die Internetadresse CAcert Login 🇬🇧 mit seiner E-Mail Adresse und dem selbstgewählten Passwort anmelden. Über den Menüpunkt "Client Certificates - New" kann man sich selbst ein Class 1 Zertifikat mit einer Gültigkeit von einem halben Jahr ausstellen, das zumindest bei der Nutzung von Firefox direkt importiert wird.

Client-Zertifikat aus Firefox exportieren

Um ein vorhandenes Client-Zertifikat aus Mozilla Firefox zu exportieren, so dass es andere Programme nutzen können, sind folgende Schritte nötig: "Bearbeiten -> Einstellungen -> Erweitert -> Sicherheit -> Zertifikate anzeigen -> Ihre Zertifikate". Hier dann unter dem Eintrag "Root CA" das eigene Zertifikat auswählen und mit "Sichern" exportieren. Es wird ein Passwort abgefragt, welches den privaten Schlüssel des Zertifikates schützt. Wichtig: Die exportierte .p12 Datei dient auch als Sicherungskopie (Backup) und sollte an einem sicheren Ort aufbewahrt werden!

Hinweis:

Das Passwort, das man hier eingegeben hat, wird auf der einen Seite zum Importieren des Zertifikates benötigt, auf der anderen Seite jedesmal dann, wenn man eine S/MIME verschlüsselte oder signierte Mail versenden möchte! Es ist daher ratsam, ein sicheres Passwort zu wählen und sich dieses auch zu merken.

Experten-Info:

Wenn man das Passwort mal vergessen haben sollte oder aber die Browserkonfiguration abhanden gekommen oder gelöscht worden ist, kann man das Zertifikat einfach erneut importieren und mit Firefox nochmals exportieren. Hierbei wird ein neues Passwort vergeben und auch die mit dem alten Passwort verschlüsselten Mails können wieder gelesen werden!

S/MIME mit E-Mail nutzen

Prinzipiell sind zwei Schritte erforderlich:

Um (später) an den öffentlichen Schlüssel des Empfängers zu gelangen, lässt man sich am einfachsten eine signierte (aber nicht verschlüsselte!) E-Mail des/der Kontaktpartners/in schicken. Auf dem gleichen Weg lässt sich auch der eigene öffentliche Schlüssel übermitteln. Diese Funktionalität hängt aber auch von den S/MIME Fähigkeiten des verwendeten E-Mail Programms ab.

Darüber hinaus ist es beim Einsatz einer Public Key Infrastruktur (PKI) sinnvoll, E-Mails nicht nur für den Empfänger zu verschlüsseln, sondern auch immer an sich selbst. Ansonsten kann nur noch der Empfänger die Nachricht lesen, aber nicht der Absender.

Evolution

Das eigene Zertifikat muss für Evolution im PKCS#12-Format (.p12) vorliegen und wird unter "Bearbeiten -> Einstellungen -> Zertifikate -> Ihre Zertifikate" importiert.

Nun kann ein Test mit einer signierten und verschlüsselten E-Mail an die eigene (zertifizierte) E-Mail Adresse erfolgen. Wichtig: dazu sollte die Option Bearbeiten -> Einstellungen -> E-Mail-Konten -> <Kontoname> -> Bearbeiten -> Sicherheit -> "beim Verschicken verschlüsselter E-Mails auch zu sich selbst verschlüsseln" aktiviert und jeweils das richtige Signatur- und Verschlüsselungszertifikat ausgewählt sein. Klappt das soweit, steht dem Einsatz von S/MIME mit Evolution nichts mehr im Wege. Beim Schreiben einer neuen E-Mail stehen nun über das Menü "Sicherkeit" die beiden Punkte "mit S/MIME signieren" und "mit S/MIME verschlüsseln" wahlweise zur Verfügung.

Thunderbird

Das Vorgehen ist im Artikel Mailverschlüsselung mit S/MIME 🇩🇪 aus dem Thunderbird Wiki ausführlich beschrieben.

Webserver

Zuerst muss eine Zertifikats-Anfrage mit openSSL erstellt werden. Eine einfache Erstellung einer Anfrage erfolgt mit dem Befehl:

openssl req -new -newkey rsa:2048 -nodes -out DOMAIN.csr -keyout DOMAIN.key -subj "/C=STAAT/ST=BUNDESLAND/L=STADT/O=FIRMA/OU=BEREICH/CN=DOMAENE" 

Die Parameter im Einzelnen:

Um die Zertifikats-Anforderung zu erleichtern, gibt es auch einen entsprechenden Generator 🇬🇧.

Bei CAcert 🇬🇧 wird im Menü "Domains" unter "hinzufügen" die eigene Domäne ohne Sub-Domänen eingetragen (beispieldomain.de). Anschließend wird eine Liste mit E-Mail-Adressen angezeigt, wo die passende und aktive Mailadresse ausgewählt wird, da eine einfache Überprüfung stattfindet.

In der Antwort via E-Mail befindet sich ein Bestätigungslink, mit dem der Vorgang abgeschlossen wird. Auf der Seite von CAcert muss nur noch bestätigt werden, dass einem die Domäne auch tatsächlich gehört. Nach diesem Vorgang kann die erstellte CSR-Anfrage in das Feld eingetragen und das Serverzertifikat für den Webserver erstellt werden.

Grundlagen

E-Mail Verschlüsselung mit S/MIME: