Wenn wir TLS verschlüsselte Webseiten ausschließlich in einer lokalen Netzwerkumgebung betreiben wollen, können wir mit Hilfe einer lokalen Zertifizierungsstelle eigene Zertifikate erstellen, die von Browsern ohne Zertifikats-Fehlermelungen akzeptiert werden.
Die Zertifizierungsstelle dient einerseits zum Erstellen eines privaten Schlüssels, der für das Signieren der Serverzertifikate verwendet wird, und zum Erstellen des Stamm-Zertifikats welches uns die Gültigkeit unser selbst zertifizierten Serverzertifikate bestätigt.
Das Root-Zertifikat der Zertifizierungsstelle wird im Zertifikatsspeicher unter „Vertrauenswürdige Stammzertifizierungsstellen“ gespeichert.
Alle mit dem privaten Schlüssel dieses Stamm-Zertifikats signierten Serverzertifikate werden dann von den Browsern als vertrauenswürdig angesehen.
In diesem Beitrag geht es ausschließlich um das Erstellen der lokalen Zertifizierungsstelle, des privaten Schlüssels und des Stamm-Zertifikats.
Das Signieren eines Serverzertifikats mittels dieser Zertifizierungsstelle wird hier beschrieben.
Erstellen eines privaten Schlüssels
Wir erstellen uns als erstes ein Verzeichnis wo wir den privaten Schlüssel und das Zertifikat ablegen können und schützen es vor fremden Zugriffen.
root@rpitest:~# mkdir CA root@rpitest:~# chmod 700 CA/ root@rpitest:~# cd CA
Nun erstellen wir den privaten Schlüssels und schützen Ihn mit einem möglichst sicheren Passwort:
root@rpitest:~/CA# openssl genrsa -des3 -out ca-testfirma.key 4096 Generating RSA private key, 4096 bit long modulus .....++ .........................................................................................................................++ e is 65537 (0x010001) Enter pass phrase for test.key: Verifying - Enter pass phrase for test.key:
Den Schlüssel schützen wir vor fremden Zugriffen:
root@rpitest:~/CA# chmod 700 ca-testfirma.key
Erstellen des Stamm-Zertifikats
Als nächstes wird das Stamm-Zertifikat erstellt.
Da Dieses die Gültigkeit aller Serverzertifikate bestätigt wählen wir ein Ablaufdatum weit in der Zukunft, in unserem Fall 7300 Tage also 20 Jahre.
Wir benötigen zum Erstellen des Zertifikats das Passwort des privaten Schlüssels und folgende Informationen für das Zertifikat. Bis auf das Pflichtfeld „Country Code“ könnten alle Felder leer gelassen werden, auf Grund der Überprüfbarkeit des Zertifikats empfehle ich jedoch sie auszufüllen:
– County Code – Ländercode nach ISO-3166-1 ALPHA-2
– State or Province Name – Bundesland
– Locality Name – Ortsnamen
– Organization Name – Firmenname / Organisationsbezeichnung
– Organizational Unit Name – Abteilungsname
– Common Name – Zertifikatsname
– Email Address
root@rpitest:~/CA# openssl req -new -x509 -days 7300 -key ca-testfirma.key -out ca-testfirma.pem Enter pass phrase for test.key: You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:AT State or Province Name (full name) [Some-State]:Vienna Locality Name (eg, city) []:Vienna Organization Name (eg, company) [1]:TestFirma Organizational Unit Name (eg, section) []:Administration Common Name (e.g. server FQDN or YOUR name) []:TestFirma Root CA Email Address []:
Der „Common Name“ ist der Name des Zertifikats welcher später auch im Zertifikatsspeicher angezeigt wird.
Installieren des Stamm-Zertifikats in den Zertifikatspeicher
Der Mozilla Firefox besitzt einen eigenen Zertifikatsspeicher. Sie müssen das Stamm-Zertifikat unter Einstellungen – Datenschutz & Sicherheit – Zertifikate anzeigen… – Zertifizierungsstellen importieren.
Das Stamm-Zertifikat ca-testfirma.pem wird nun auf einen lokalen PC kopiert und geöffnet.

Wir wählen den Reiter Details aus und kontrollieren die Einträge von Aussteller und die Gültigkeit.

Wenn alle Einträge richtig sind wechseln wir wieder auf Allgemein und klicken auf Zertifikat installieren…

klicken auf Weiter >, wählen Alle Zertifikate in folgendem Speicher speichern

und klicken auf Durchsuchen….

Hier wählen wir Vertrauenswürdige Stammzertifizierungsstelle und bestätigen mit OK

klicken auf Weiter >

dann auf Fertig stellen

und bestätigen die Sicherheitswarnung mit Ja.

Die Information über den erfolgreichen Zertifikatsimport schließen wir mit OK.
Das Zertifikat finden wir nun im Zertifikatsspeicher unter Internetoptionen – Inhalte

Wir klicken auf Zertifikate, dann auf Vertrauenswürdige Stammzertifizierungsstellen und scrollen bis zu unserem Stamm-Zertifikat.
