Bereitstellung
Übertragen Sie Zertifikate direkt dorthin, wo sie TLS terminieren — mit Validierung und Rollback.
Überblick
Anstatt ein Zertifikat zu exportieren und es manuell zu installieren, kann DuoKey es direkt auf das Gerät oder den Dienst bereitstellen, der TLS terminiert. Jede Bereitstellung läuft als Job, der das Ergebnis validiert und zurückgerollt werden kann.
| Ziel | Hinweise zum Konnektor |
|---|---|
| F5 BIG-IP | iControl REST — Bereitstellung von Zertifikat+Schlüssel oder nur Zertifikat; Discovery, Test und Rollback |
| Fortinet FortiGate | Bereitstellung und Rollback |
| Azure App Service | Zertifikate an App Services binden |
| Entra ID | App Proxy und App-Registrierung |
| Microsoft IIS · Active Directory / LDAPS · Windows CAPI | Agentengesteuert (PowerShell) — ein an das Ziel gebundener Scanner-Agent führt den Import/die Bindung lokal oder über WinRM aus |
| Nginx · Java Keystore | SSH — Cockpit verbindet sich direkt, legt das Zertifikat/den Schlüssel ab (oder importiert es in den Keystore) und führt den Reload-/Restart-Befehl aus |
| Apache HTTPD | Derzeit nur Konfiguration — Zielerstellung wird unterstützt, die tatsächliche Bereitstellung ist noch nicht angebunden |
| ServiceNow CMDB | Inventar-/Ablauf-Synchronisierung (kein TLS-Terminierungsziel) |
Lebenszyklus eines Deploy-Jobs
| Status | Bedeutung |
|---|---|
| pending | Job erstellt, noch nicht gestartet |
| running | Das Zertifikat wird auf das Ziel übertragen |
| validating | Es wird bestätigt, dass das Ziel nun das neue Zertifikat bereitstellt |
| succeeded / failed | Endgültiges Ergebnis |
| rolled_back | Nach Abschluss zurückgesetzt |
Rollback ist der einzige nach Abschluss eines Jobs zulässige Übergang, sodass eine fehlerhafte Übertragung auf das vorherige Zertifikat zurückgesetzt werden kann. F5 und Fortinet verfügen über dedizierte Rollback-Endpunkte; generische Ziele werden über die Deploy-Jobs-API zurückgesetzt.
Konnektor-Operationen
Alle Konnektoren teilen sich einen einheitlichen Satz von Operationen — Discovery/Inventar/Hinzufügen/Entfernen/erneutes Enrollment — sodass sich die Verwaltung von Zertifikaten über heterogene Ziele hinweg konsistent anfühlt. Wiederverwendbare Verbindungsprofile speichern Zielanmeldedaten einmalig und können getestet und neu gebunden werden.
F5 BIG-IP
F5-Ziel registrieren
Fügen Sie das F5-Ziel (Management-Adresse + Anmeldedaten) hinzu und führen Sie Test aus, um die Konnektivität zu bestätigen.
Bereitstellen
Stellen Sie das Zertifikat und den Schlüssel bereit, oder nur das Zertifikat, wenn der Schlüssel bereits vorhanden ist. Der Job validiert die Bindung des SSL-Profils.
Bei Bedarf zurückrollen
Wenn die Validierung fehlschlägt oder sich die Änderung fehlerhaft verhält, rollen Sie den Job auf das vorherige Zertifikat zurück.
Microsoft IIS, Active Directory / LDAPS & Windows CAPI (Agent)
Diese drei Ziele teilen sich dasselbe Ausführungsmodell — ein Keyfactor-artiges Universal-Orchestrator-Muster. Ein lokaler Scanner-Agent registriert sich bei Cockpit und wird an das Ziel gebunden; anstatt dass Cockpit direkt zugreift, holt der Agent die Deploy-Jobs in seinem eigenen Heartbeat-Rhythmus ab und führt sie lokal aus (oder über WinRM gegen einen entfernten Host).
Agent enrollen und starten
Enrollen Sie sich auf dem Windows-Host (oder der Maschine, die WinRM dorthin nutzt) einmalig mit einem einmalig verwendbaren Installations-Token, das in Scanner Agents → Generate installer in der Cockpit-Oberfläche erzeugt wird:
dke-scanner-agent enroll --server https://<cockpit-host> --token <enrollment-token>Dies schreibt die Agent-Identität und den API-Schlüssel nach ~/.dke/agent.toml (Modus 0600). Starten Sie anschließend den persistenten Agent-Prozess, der sich mit Cockpit verbindet, Heartbeats sendet und Deploy-Jobs abfragt:
dke-scanner-agent agentEs ist kein separates Flag nötig, um Deploy-Jobs zu aktivieren — jeder enrollte Agent meldet automatisch die Fähigkeit cert_deploy und erscheint daher sofort nach dem Enrollment und Start in der Agent-Auswahl des Assistenten. Der Prozess muss dauerhaft laufen (als Windows-Dienst, nicht als interaktive Sitzung, die beim Abmelden endet), damit Jobs abgeholt werden; die vollständige CLI-Referenz — inklusive --heartbeat-interval und --config — finden Sie unter Agent-Modus.
Ziel an den Agenten binden
Wählen Sie im Bereitstellungsassistenten den enrollten Agenten für das Ziel aus — oder wählen Sie für einen entfernten Host, auf dem der Agent nicht direkt läuft, stattdessen den WinRM-Transport und geben Sie Benutzername, Passwort, Port und TLS-Einstellungen des entfernten Hosts an.
Ziel registrieren
Microsoft IIS: Site-Name, Bindungs-Hostheader und -Port, Maschinen-Store (LocalMachine\My oder WebHosting), SNI. Active Directory / LDAPS: der dedizierte NTDS\My-Store des DC, FQDN des Domänencontrollers, In-Place-LDAPS-Reload (kein Neustart). Windows CAPI: die SSL-Bindungs-IP/den -Port und die von netsh http add sslcert benötigte Anwendungs-GUID.
Bereitstellen
Cockpit löst das verwaltete Zertifikat auf, erstellt eine PFX und stellt einen verschlüsselten Job in die Warteschlange. Der Agent holt ihn ab, importiert das Zertifikat in den Windows-Zertifikatspeicher und bindet es — eine IIS-Site-Bindung, ein LDAPS-Reload oder eine netsh http add sslcert-Bindung — und meldet dann das Ergebnis zurück, wodurch der Deploy-Job aktualisiert wird.
Der Import in den Maschinen-Zertifikatspeicher und die Bindung von IIS oder CAPI erfordern einen erhöhten PowerShell-Kontext (der Agent ruft powershell.exe auf, um Import-Module WebAdministration, Import-PfxCertificate -CertStoreLocation Cert:\LocalMachine\My und netsh http add sslcert auszuführen). Installieren Sie dke-scanner-agent agent als Windows-Dienst unter LocalSystem oder einem administrativen Dienstkonto — eine interaktive, nicht-administrative Konsolensitzung schlägt bei diesen Schritten mit einem Zugriff-verweigert-Fehler fehl, selbst wenn der Agent selbst startet und erfolgreich Heartbeats sendet.
Nginx & Java Keystore (SSH)
Cockpit erreicht diese beiden Ziele direkt über SSH — kein Agent erforderlich.
Ziel registrieren
SSH-Host, -Port und -Benutzername sowie entweder ein Passwort oder ein privater Schlüssel (PEM, optional passphrase-geschützt) — mit einem optionalen SHA-256-Host-Key-Fingerabdruck zum Anheften. Nginx nimmt außerdem die Datei-Pfade für Zertifikat/Schlüssel und einen Reload-Befehl entgegen. Java Keystore nimmt den Keystore-Pfad, den Alias, den Keystore-Typ (PKCS12 oder das ältere JKS), das Keystore-Passwort und einen optionalen Restart-Befehl entgegen.
Verbindung testen
Bestätigt, dass die SSH-Anmeldedaten funktionieren, und meldet, was bereits bereitgestellt ist — ein openssl x509-Lesevorgang der Zertifikatsdatei für Nginx, eine Präsenzprüfung der Keystore-Datei für Java Keystore.
Bereitstellen
Nginx: Cockpit schreibt das Zertifikat und den privaten Schlüssel über SSH an die konfigurierten Pfade und führt dann den Reload-Befehl aus. Java Keystore: Cockpit erstellt lokal ein PKCS#12 aus dem verwalteten Zertifikat, überträgt es per SSH zum Host und importiert es mit keytool -importkeystore unter dem konfigurierten Alias, dann wird der optionale Restart-Befehl ausgeführt.
Wenn der Host-Key-Fingerabdruck leer gelassen wird, wird dem Schlüssel vertraut, den der Host bei der ersten Verbindung präsentiert. Heften Sie den SHA-256-Fingerabdruck für den Produktivbetrieb am Ziel an.
API-Referenz
Das Verwalten von Bereitstellungszielen, das Ausführen und Zurückrollen von Deploy-Jobs, das Speichern wiederverwendbarer Verbindungsprofile sowie das Synchronisieren des Inventars mit ServiceNow CMDB sind alle programmatisch über die Plattform-API verfügbar.