Installation mit Docker
Installation von Step-CA mit Docker
1. Docker Compose Konfiguration
Erstellen Sie eine docker-compose.yml Datei mit folgendem Inhalt. Diese Konfiguration initialisiert eine neue Certificate Authority beim ersten Start automatisch.
services:
step-ca:
image: smallstep/step-ca
container_name: step-ca
restart: unless-stopped
ports:
- "9000:9000"
volumes:
- ./step-ca/data:/home/step
environment:
# Name der CA (erscheint im Feld 'Issuer' der Zertifikate)
- DOCKER_STEPCA_INIT_NAME=MeineInterneCA
# Adressen, unter denen die CA erreichbar ist (Wichtig für TLS-Verbindung zur CA)
- DOCKER_STEPCA_INIT_DNS_NAMES=localhost,step-ca,ca.meine-domain.local
# Passwort zum Schutz des Root-Schlüssels (Sicher aufbewahren!)
- DOCKER_STEPCA_INIT_PASSWORD=dein-sicheres-passwort
# Name des Standard-Provisioners
- DOCKER_STEPCA_INIT_PROVISIONER_NAME=admin
Hinweise zu den Variablen:
-
DOCKER_STEPCA_INIT_NAME: Der Anzeigename Ihrer CA.
-
DOCKER_STEPCA_INIT_DNS_NAMES: Hier müssen die Hostnamen oder IPs eingetragen werden, über die die CA selbst erreichbar ist.
-
DOCKER_STEPCA_INIT_PASSWORD: Schützt die Identität der CA. Geht dieses Passwort verloren, kann die CA nicht mehr gestartet werden.
2. Den Root-Fingerprint ermitteln
Der Fingerprint ist ein SHA-256 Hash des Root-Zertifikats. Er wird benötigt, um Clients (via step ca bootstrap) sicher mit der CA zu verbinden, ohne das Root-Zertifikat vorab manuell verteilen zu müssen.
Option A: Über die Container-Logs
Beim ersten Start (Initialisierung) gibt die CA den Fingerprint direkt aus:
docker compose logs step-ca | grep "fingerprint"
Beispielausgabe:
2026/02/26 07:15:41 [INFO] CA initialized with fingerprint: 8a5d3f...6c2b1e94a5e01
Option B: Über die metadata.json
Nach der Initialisierung speichert Step-CA den Fingerprint persistent ab. Basierend auf dem Volume-Mapping oben finden Sie die Datei hier:
./step-ca/data/config/metadata.json
{
"fingerprint": "8a5d3f...6c2b1e94a5e01"
}
Option C: Manuelle Abfrage im laufenden Container
Falls die Logs nicht mehr verfügbar sind, kann der Fingerprint direkt aus dem Zertifikat berechnet werden:
docker exec step-ca step certificate fingerprint /home/step/certs/root_ca.crt
3. Verwendung des Fingerprints
Um einen Client (z. B. auf einem anderen Server) zu verbinden, nutzen Sie den Befehl:
step ca bootstrap --ca-url https://<ca-ip>:9000 --fingerprint <dein-fingerprint>
No comments to display
No comments to display