XCA: Die All-in-One-Lösung für PKI und Zertifikatsverwaltung im Homelab
XCA ist ein kostenloses GUI-Tool für eigene PKI im Homelab. Root-CA, Intermediate-CA und TLS-Zertifikate einfach verwalten – ohne CLI-Overhead.
TL;DR: XCA ist ein kostenloses, plattformübergreifendes GUI-Tool, mit dem du eine vollständige PKI aufbaust – Root-CA, Intermediate-CA, TLS-Zertifikate. Alles landet in einer einzigen SQLite-Datenbank, die du einfach sichern kannst. Kein OpenSSL-Kommandozeilen-Chaos, kein Server-Overhead. Ideal für Homelabs, die interne Dienste sauber mit TLS absichern wollen.
Wer im Homelab mehrere Dienste betreibt – Proxmox, Nextcloud, Authentik, Gitea, Traefik – kommt irgendwann an den Punkt, an dem selbstsignierte Zertifikate nerven. Browser-Warnungen, keine Chain of Trust, kein zentrales Management. Die saubere Lösung ist eine eigene PKI mit einer Root-CA, der du einmalig vertraust, und Intermediate-CAs, die die eigentlichen Zertifikate ausstellen.
Das klingt nach viel OpenSSL-Gefummel. Ist es aber nicht, wenn man XCA einsetzt. XCA (X Certificate and Key management) ist ein Open-Source-Tool mit grafischer Oberfläche, das genau diesen Workflow abbildet – ohne dass man sich jedes Mal die OpenSSL-Syntax zusammensuchen muss.
Was ist XCA und warum kein OpenSSL?
XCA ist ein Qt-basiertes Desktop-Programm, das für Windows, macOS und Linux verfügbar ist. Es verwaltet Zertifikate, private Schlüssel, Certificate Signing Requests (CSRs) und Certificate Revocation Lists (CRLs) in einer einzigen verschlüsselten SQLite-Datenbank.
Der Vorteil gegenüber reinem OpenSSL:
- Keine Kommandozeilen-Syntax auswendig lernen – alles über Dialoge
- Templates für wiederkehrende Zertifikatstypen (Server, Client, CA)
- Vollständige CA-Hierarchie in einer Datei
- Export in alle gängigen Formate: PEM, DER, PKCS#12, PKCS#8
- Portabel – die Datenbankdatei ist das gesamte PKI-System
Alternativen wie easy-rsa oder direkte OpenSSL-Skripte funktionieren natürlich auch, aber der kognitive Overhead ist deutlich höher. Für ein Homelab, wo man nicht täglich Zertifikate ausstellt, ist XCA die pragmatischere Wahl.
Installation
XCA ist in den meisten Paketquellen verfügbar oder direkt als Binary von der offiziellen Website.
Debian/Ubuntu:
sudo apt update && sudo apt install xca
Arch Linux:
sudo pacman -S xca
macOS (Homebrew):
brew install --cask xca
Windows: Installer direkt von hohnstaedt.de/xca herunterladen.
Nach dem Start erstellt man zunächst eine neue Datenbank über File → New DataBase. Diese .xdb-Datei ist das Herzstück der PKI – sie sollte regelmäßig gesichert werden, am besten verschlüsselt auf einem externen Medium oder in einem Passwort-Manager-Tresor.
PKI-Hierarchie aufbauen: Root-CA und Intermediate-CA
Eine saubere PKI-Struktur im Homelab sieht so aus:
Root CA (offline halten)
└── Intermediate CA (für die tägliche Arbeit)
├── server.homelab.local
├── nextcloud.homelab.local
└── *.homelab.local
Die Root-CA sollte möglichst offline bleiben – also nur die XCA-Datenbank auf einem sicheren Medium, nicht dauerhaft auf einem laufenden System. Die Intermediate-CA übernimmt das tägliche Ausstellen von Zertifikaten.
Root-CA erstellen:
- Tab Certificates → New Certificate
- Subject: CN =
Homelab Root CA, O =Homelab, C =DE - Extensions:
CA:TRUE,pathlen:1(erlaubt eine Ebene Intermediate-CAs) - Key Usage:
Certificate Sign,CRL Sign - Schlüssellänge: RSA 4096 oder EC P-384
- Gültigkeit: 10–20 Jahre
Intermediate-CA erstellen:
- Wieder New Certificate, diesmal mit der Root-CA als Aussteller signieren
- Subject: CN =
Homelab Intermediate CA - Extensions:
CA:TRUE,pathlen:0(darf keine weiteren CAs ausstellen) - Key Usage:
Certificate Sign,CRL Sign - Gültigkeit: 5 Jahre
XCA zeigt die CA-Hierarchie übersichtlich als Baumstruktur an.
Templates für schnelle Zertifikatsausstellung
Bevor man das erste Server-Zertifikat ausstellt, lohnt es sich, Templates anzulegen. XCA unterstützt das unter dem Tab Templates.
Ein Template für TLS-Server-Zertifikate enthält:
- Key Usage:
Digital Signature,Key Encipherment - Extended Key Usage:
TLS Web Server Authentication - Basic Constraints:
CA:FALSE - Subject Alternative Name: Platzhalter, der pro Zertifikat angepasst wird
- Gültigkeit: 365–825 Tage (Browser akzeptieren nichts über 825 Tage)
Ein Client-Auth-Template für VPN oder mTLS:
- Extended Key Usage:
TLS Web Client Authentication - Gültigkeit: 1–2 Jahre
Mit Templates reduziert sich das Ausstellen eines neuen Zertifikats auf: Template laden → CN und SAN setzen → mit Intermediate-CA signieren → exportieren. Das dauert unter zwei Minuten.
Templates speichern alle Extensions und Key-Usage-Einstellungen für wiederholbare Zertifikatsausstellung.
Server-Zertifikat ausstellen und exportieren
Konkretes Beispiel: TLS-Zertifikat für nextcloud.homelab.local.
- Tab Certificates → New Certificate
- Template TLS Server laden
- Aussteller:
Homelab Intermediate CA - Subject: CN =
nextcloud.homelab.local - Extensions → Subject Alternative Name:
DNS:nextcloud.homelab.local DNS:nextcloud IP:192.168.10.50 - Gültigkeit: 365 Tage
- Neuen Schlüssel generieren: RSA 2048 oder EC P-256
Subject Alternative Names sind entscheidend – ohne passenden SAN verweigern moderne Browser die Verbindung.
Nach dem Erstellen exportiert man:
- Zertifikat (PEM): für den Webserver
- Private Key (PEM, unverschlüsselt): für den Webserver
- CA Chain (PEM): Intermediate + Root, für die vollständige Chain
- Optional PKCS#12: wenn Anwendung ein Bundle erwartet
# Zertifikat und Key auf den Server kopieren
scp nextcloud.homelab.local.crt nextcloud.homelab.local.key user@nextcloud:/etc/ssl/private/
# Traefik-Beispiel: Zertifikat in dynamic config einbinden
# tls/certs.yml
tls:
certificates:
- certFile: /certs/nextcloud.homelab.local.crt
keyFile: /certs/nextcloud.homelab.local.key
Root-CA im System und Browser vertrauen
Das Zertifikat der Root-CA muss einmalig als vertrauenswürdig importiert werden – auf allen Clients, die auf interne Dienste zugreifen.
Linux (systemweit):
sudo cp homelab-root-ca.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates
Windows (GPO oder manuell):
# Als Administrator
Import-Certificate -FilePath homelab-root-ca.crt -CertStoreLocation Cert:\LocalMachine\Root
macOS:
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain homelab-root-ca.crt
Firefox hat einen eigenen Zertifikatsspeicher: Einstellungen → Datenschutz & Sicherheit → Zertifikate → Zertifikate anzeigen → Zertifizierungsstellen → Importieren.
Nach dem Import verschwinden die Browser-Warnungen für alle Dienste, die mit der eigenen CA signiert sind – vorausgesetzt, die SANs stimmen.
Fazit
XCA ist genau das richtige Tool für Homelabs, die eine eigene PKI betreiben wollen, ohne sich durch OpenSSL-Manpages zu kämpfen. Die Kombination aus grafischer Oberfläche, Templates und portabler Datenbankdatei macht den Workflow deutlich angenehmer als reine CLI-Lösungen.
Die wichtigsten Punkte: Root-CA offline halten, Intermediate-CA für den Alltag nutzen, Templates anlegen und die .xdb-Datei regelmäßig sichern. Damit hat man eine solide PKI-Basis, die für ein Homelab Jahre hält – ohne monatliche Kosten für externe Zertifikate oder den Overhead eines vollständigen CA-Servers wie EJBCA oder Vault.
Für automatisierte Zertifikatsausstellung in größeren Umgebungen lohnt sich dann der Blick auf HashiCorp Vault mit PKI Secrets Engine oder Step-CA – aber das ist ein anderes Thema.