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-caca,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:
BeiNameDOCKER_STEPCA_INIT_NAME:
sollteDer 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 NameCA. 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 angegebenenzu werden,verbinden, derohne späterdas auchRoot-Zertifikat invorab manuell verteilen zu müssen.
Option A: Über die Container-Logs
Beim ersten Start (Initialisierung) gibt die CA den ZertifikatenFingerprint angezeigtdirekt werden.
2. Fingerprint
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
beim Start kann im LogNach der Initialisierung speichert Step-CA den Fingerprint gesehenpersistent werden,ab. dieserBasierend wirdauf beidem VerwendungVolume-Mapping vonoben stepfinden benötigtSie umdie dasDatei https Zertifikat zu validieren, so lange noch kein root Zertifikat lokal vorliegt.hier:
[Dein-Docker-Volume]./step-ca/data/config/metadata.json
In der Datei kann der Fingerprint auch gefunden werden,
{
"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>