Vergleich von ACME-Clients und Hilfe bei der Auswahl eines Clients für EAB ACME
Was ist das ACME-Protokoll und der ACME-Client
ACME (Automated Certificate Management Environment) ist ein Protokoll, das die vollautomatische Ausstellung, Erneuerung und Verwaltung von SSL/TLS-Zertifikaten ermöglicht. In der Praxis eliminiert es die Notwendigkeit manueller Erstellung von Zertifikatsanträgen (CSR), Domain-Verifizierung und Zertifikatsinstallation, was den gesamten Prozess erheblich vereinfacht und die Fehleranfälligkeit reduziert. ACME kommuniziert direkt mit einer Zertifizierungsstelle und überprüft über standardisierte Challenge-Typen (z.B. HTTP-01 oder DNS-01), dass der Antragsteller tatsächlich die betreffende Domain besitzt. So können Zertifikate in wenigen Sekunden erworben und regelmäßig automatisch verlängert werden, noch vor Ablauf der Gültigkeitsdauer.
Der ACME-Client ist ein Tool oder eine Software, die dieses Protokoll auf der Benutzerseite implementiert. Seine Aufgabe ist es, mit dem ACME-Server (z.B. einer Zertifizierungsstelle) zu kommunizieren, Schlüssel zu generieren, Herausforderungen während der Validierung zu lösen und die ausgestellten Zertifikate auf dem Server oder in der Infrastruktur zu installieren. Zu den bekannten ACME-Clients gehören beispielsweise Certbot, acme.sh oder integrierte Tools in modernen Hosting-Plattformen. Ein korrekt konfigurierter ACME-Client ermöglicht einen vollständig unbeaufsichtigten Betrieb – Zertifikate werden automatisch ausgestellt und erneuert, was die ideale Lösung für skalierbare Umgebungen und die sichere Verwaltung von Webdiensten darstellt.
Funktionsübersicht der ACME-Clients
Alle in der Tabelle aufgeführten ACME-Clients können automatisch ein Zertifikat mithilfe von ACME validieren und ausstellen, einschließlich der Integration mit DigiCert EAB. Dies ist die Grundvoraussetzung für die Verwendung eines ACME-Clients, und wenn dies nicht funktioniert, macht es keinen Sinn, ihn in der Übersicht aufzuführen.
| Client | Basisinformationen und Komplexität | Zertifikatsautomatisierung | Technische Parameter | Zusammenfassung | |||||
|---|---|---|---|---|---|---|---|---|---|
| Betriebssystem | EAB ACME Unterstützung | Installationsweise | Serverinstallation | Erneuerungsplanung | DNS API Unterstützung | Sprache | Getestet | Geeignet für | |
| Certbot | Linux, macOS | ✅ Ja | Systempaket (apt / snap) | ✅ Vollständig (Apache, Nginx) | ✅ Automatisch (systemd timer) | 50+ (Plugins) ⚡ | Python | JA | Empfohlen, Linux-Webserver (Apache / Nginx) |
| win-acme | Windows Server | ✅ Ja | Installationsassistent (.exe) | ✅ Vollständig (IIS) | ✅ Automatisch (Task Scheduler) | 30+ ⚡ | C# (.NET) | JA | Windows Server / IIS |
| Certify The Web | Windows | ✅ Ja | Installer (.msi) | ✅ Vollständig (IIS, Exchange, SQL, API) | ✅ Automatisch (eigener Dienst) | 100+ (einschl. lokaler Skripte) | C# (.NET) | JA | Anfänger auf Windows, mit GUI und Nachbearbeitung |
| SimpleACME (WACS) | Windows Server | ✅ JA | Zip / Binär .exe | ✅ Vollständig (IIS, RDS, Exchange) | ✅ Automatisch (Task Scheduler) | 40+ (einschließlich Posh-ACME-Plugins) ⚡ | C# (.NET) | JA | Nachfolger von wim-acme für Windows/IIS |
| Cert-manager | Kubernetes (Linux) | ✅ Ja | Helm chart / Manifestos | ✅ Vollständig (Ingress / Gateway API) | ✅ Automatisch (Controller-Schleife) | 60+ (nativ + Plugins) | Go | NEIN | Kubernetes und Cloud-native Umgebungen |
| acme.sh | Linux, macOS, Unix | ✅ Ja | Installationsskript (curl) | ⚙️ Teilweise (Deploy Hook) | ✅ Automatisch (cron) | 150+ (nativ) ⚡ | Shell (Bash) | JA | Empfohlen, ideal für DNS-Automatisierung und DevOps |
| Lego | Linux, macOS, Windows | ✅ Ja | Herunterladen der Binärdatei | ⚙️ Teilweise (Deploy Hook) | ⚙️ Externen Scheduler konfigurieren erforderlich | 180+ (nativ) ⚡ | Go | JA | Cloud, Docker, CI/CD |
| Posh-ACME | Windows, Linux (PS Core) | ✅ Ja | PowerShell Gallery | ⚙️ Teilweise (Skripte) | ✅ Automatisch (Task Scheduler) | 100+ | PowerShell | Windows-Automatisierung und -Skriptierung | |
| dc-acme | Linux, Windows | ✅ Ja | Installationsskript (curl / PS) | ⚙️ Teilweise (Filesystem / Custom Handlers) | ✅ Automatisch (Systemdienst) | UltraDNS, Cloudflare, Route53, Azure | Java / TOML | Enterprise-Umgebungen (DigiCert MPKI / ONE) | |
✅ Vollautomatisch – alles erfolgt ohne Benutzereingriff.
⚙️ Teilweise automatisch – erfordert manuelle Konfiguration oder Skript.
⚡ DNS-Plugin für CZECHIA.COM/RegZone kann verwendet werden; entweder im Projekt oder unabhängig auf Github.
Wie man den richtigen ACME-Client auswählt
Die Auswahl des ACME-Clients hängt von den Zielen ab, die Sie haben. Vielleicht möchten Sie nur ein Zertifikat ausstellen und dann manuell oder mit Skripten weiterarbeiten, oder Sie möchten den gesamten Lebenszyklus des Zertifikats auf einem Webserver vollständig automatisieren und sich nicht mehr darum kümmern müssen. Diese Kriterien sind entscheidend für Ihre Auswahl.
Die Automatisierung des gesamten Lebenszyklus eines Zertifikats besteht aus mehreren Teilen, die der ACME-Client bewältigen muss:
- Kommunikation mit der CA - Für OV- und EV-Zertifikate ist die Unterstützung von EAB ACME seitens des Clients erforderlich. Nicht jeder Client unterstützt EAB; z.B. die native ACME-Implementierung in nginx kann kein EAB.
- Automatische Domain-Verifizierung - Bei jeder Zertifikatsaustellung muss eine Domain-Verifizierung (DCV) erfolgen, oder die Domain muss vorab verifiziert werden. Ohne automatische Domain-Verifizierung können in Zukunft keine Zertifikate ausgestellt werden.
- HTTP-01: Eine Verifizierungsdatei wird auf dem Server bereitgestellt und die CA überprüft diese, es wird Port 80 verwendet.
- DNS-01: Ein Verifizierungseintrag wird in die DNS-Zone der Domain gesetzt. Um einen DNS-Eintrag zu ändern, benötigt man ein Plugin für das DNS-Anbieter-API (Cloudflare, CZECHIA.COM).
- Ausstellung des Zertifikats - DV-Zertifikate werden sofort ausgestellt, für OV- und EV-Zertifikate muss die Organisation überprüft werden, was durch Vorverifizierung geschieht. Der ACME-Client speichert das ausgestellte Zertifikat lokal auf der Festplatte, auf der sich bereits der private Schlüssel befindet. Das Zertifikat kann weiter mit Skripten (Deploy-Hook) verwendet werden.
- Installation/Konfiguration des Zertifikats auf dem Server - Die Konfiguration (Installation) des Zertifikats für den richtigen Dienst auf dem Webserver erfordert die Bearbeitung und Änderung von Konfigurationsdateien und einen Neustart des Dienstes. Installation ist typischerweise nur bei Apache-, nginx- und IIS-Webservern möglich.
Nicht jeder ACME-Client erfüllt alle Anforderungen. Deshalb haben wir eine Übersichtstabelle erstellt, die die Auswahl erleichtert.
Was tun, wenn der ACME-Client meinen Server nicht unterstützt
Es ist typisch für ACME-Clients, dass sie ein ausgestelltes Zertifikat auf die am weitesten verbreiteten Webserver wie Apache, nginx und IIS anwenden können. Oft enden hier ihre Fähigkeiten. Wenn Sie Zertifikate auf einem Server automatisieren müssen, der nicht von ACME-Clients unterstützt wird, müssen Sie die Automatisierung in die Phasen der Ausstellung und der Bereitstellung des Zertifikats aufteilen.
Die Ausstellung können Sie immer mit acme.sh und DNS automatisieren; so können Sie ein Zertifikat auf jedem Rechner ausstellen, ohne ACME direkt auf dem Server laufen lassen zu müssen, wie es HTTP-01 verlangt. Das ausgestellte Zertifikat muss dann zum Zielserver übertragen und dort bereitgestellt werden, was je nach dem konkreten Typ des Webservers individuell gescriptet werden muss.
Kontaktieren Sie unseren Support
Wenn dieser Artikel nicht alle Ihre Fragen beantwortet hat, zögern Sie nicht, unseren SSLmarket Support zu kontaktieren. Unsere Experten stehen Ihnen täglich zur Verfügung.