Site x5

Eigene X.509 Root-CA erstellen (selbstsigniert)

Einleitung

TLS-Zertifikate sorgen dafür, dass Verbindungen im Internet oder im Intranet verschlüsselt und vertrauenswürdig sind. Normalerweise bezieht man Zertifikate von öffentlichen Zertifizierungsstellen (z. B. Let's Encrypt). Für interne Dienste (z. B. Test-Webserver, MQTT-Broker) kann man jedoch selbst eine Certificate Authority (CA) betreiben.

In diesem Tutorial lernst du:

Vorbereitung

Wir brauchen eine Linux Umgebung, ich nutze hierfür eine virtuelle Debian Maschine.

Zuerst überprüfen wir, ob OpenSSL installiert ist:

openssl version

Wenn die Ausgabe so ähnlich aussieht wie hier, dann passt alles:

OpenSSL 3.0.17 1 Jul 2025 (Library: OpenSSL 3.0.17 1 Jul 2025)

ansonsten muss OpenSSL erst installiert werden:

apt update && apt install openssl -y

Danach erstellen wir einen neuen Ordner (im Home-Verzeichnis), in dem alle Dateien abgelegt werden:

mkdir -p ~/certs
cd ~/certs

Root-CA Schlüssel & Zertifikat erstellen

Im nächsten Schritt erstellen wir den privaten Schlüssel für unsere Root-CA:

entweder einen RSA Schlüssel:

openssl genrsa -out myCA.key 2048

oder einen modernen EC Schlüssel:

openssl ecparam -genkey -name prime256v1 -out myCA.key


Dann schreiben wir eine kleine Konfig Datei, welche die wichtigsten Informationen über das zu erstellende Zertifikat enthält:

nano myCA.conf


Jetzt können wir das selbstsignierte Zertifikat erstellen:

openssl req -new -x509 -config myCA.conf -key myCA.key -days 1825 -out myCA.crt

Wir haben jetzt drei Dateien:

root@debian-vm:~/certs# ls -l
insgesamt 12
-rw-r--r-- 1 root root 1184 12. Aug 14:56 myCA.conf
-rw-r--r-- 1 root root  737 12. Aug 14:57 myCA.crt
-rw------- 1 root root  302 12. Aug 14:55 myCA.key

Wir prüfen das Root-CA Zertifikat:

openssl x509 -in myCA.crt -noout -text 

Wie wir sehen, sind Issuer und Subjekt die gleiche Entität, es ist ja auch ein selbst signiertes Zertifikat. Das bedeutet, dass die CA sich selbst bestätigt und keinen externen Aussteller hat.

Root-CA Zertifikat installieren

Um eine echte CA zu werden, müssten wir das Root-CA Zertifikat nun auf allen Geräten weltweit installieren. Da wir aber nur unsere eigene CA werden wollen, reicht es, das Zertifikat auf unseren eigenen Geräten zu installieren.

Wir werden das Zertifikat nun auf einer Windows Maschine installieren. Dazu muss das Zertifikat auf die entsprechende Maschine übertragen werden.

Wenn das Zertifikat auf der Windows Maschine gelandet ist, können wir loslegen:

  1. WIN + R --> mmc eingeben --> Ok

  2. Datei --> Snap-In hinzufügen/entfernen

  3. Nach unten scrollen --> Zertifikate auswählen --> Hinzufügen

  4. Computerkonto auswählen

  5. Lokalen Computer auswählen

  6. Vertrauenswürdige Stammzertifizierungsstellen --> Zertifikate --> Rechtsklick --> Alle Aufgaben --> Importieren

  7. Die Zertifikatsdatei auswählen

  8. Zertifikatspeicher auswählen

Wenn alles geklappt hat, ist unser Root-CA Zertifikat in der Liste zu sehen

Nun ist das Zertifikat im System installiert und wird z.B. vom Browser als gültiges Root-CA Zertifikat akzeptiert. Über das gleiche Menü lässt sich das Zertifikat auch wieder deinstallieren.

Siehe:

Root-CA Zertifikat verwenden

Im nächsten Post zeige ich, wie man mit dem eigenen Root-CA Zertifikat weitere Zertifikate signieren kann.