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 vollautomatisierte Ausstellung, Erneuerung und Verwaltung von SSL/TLS-Zertifikaten ermöglicht. In der Praxis eliminiert es die Notwendigkeit manueller Erstellung von Anforderungen (CSR), Domainverifizierung und Zertifikatsinstallation, was den Prozess erheblich vereinfacht und das Fehlerrisiko reduziert. ACME kommuniziert direkt mit der Zertifizierungsstelle und überprüft durch standardisierte Challenges (z.B. HTTP-01 oder DNS-01), dass der Antragssteller tatsächlich die jeweilige Domain besitzt. Auf diese Weise können Zertifikate innerhalb von Sekunden erworben werden und sie werden auch regelmäßig automatisch erneuert, bevor sie ablaufen.
Ein ACME-Client ist ein Tool oder eine Software, die dieses Protokoll auf der Benutzerseite implementiert. Seine Aufgabe besteht darin, mit dem ACME-Server (z.B. einer Zertifizierungsstelle) zu kommunizieren, Keys zu generieren, Validierungs-Challenges zu lösen und die ausgestellten Zertifikate auf dem Server oder in der Infrastruktur zu installieren. Bekannte ACME-Clients sind zum Beispiel Certbot, acme.sh oder integrierte Tools in modernen Hosting-Plattformen. Ein richtig konfigurierter ACME-Client ermöglicht einen vollautomatisierten Betrieb – Zertifikate werden automatisch ausgestellt und erneuert, was für skalierbare Umgebungen und sichere Verwaltung von Webservices ideal ist.
Übersicht der Funktionen von ACME-Clients
Alle in der Tabelle aufgeführten ACME-Clients können automatisch ein Zertifikat durch ACME überprüfen und ausstellen, einschließlich der Integration mit DigiCert EAB. Das ist eine Grundvoraussetzung für die Nutzung eines ACME-Clients und wenn ein Client dies nicht kann, macht es keinen Sinn, ihn in der Übersicht aufzuführen.
| Client | Grundlegende Informationen und Anforderungen | Zertifikatsautomatisierung | Technische Parameter | Zusammenfassung | |||||
|---|---|---|---|---|---|---|---|---|---|
| Betriebssystem | EAB ACME Unterstützung | Installationsmethode | 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+ (inkl. lokale Skripte) | C# (.NET) | JA | Einsteiger auf Windows, hat GUI und Post-Processing |
| SimpleACME (WACS) | Windows Server | ✅ JA | Zip / Binär .exe | ✅ Vollständig (IIS, RDS, Exchange) | ✅ Automatisch (Task Scheduler) | 40+ (inkl. Posh-ACME Plugins) ⚡ | C# (.NET) | JA | Nachfolger von win-acme für Windows/IIS |
| Cert-manager | Kubernetes (Linux) | ✅ Ja | Helm-Chart / Manifeste | ✅ Vollständig (Ingress / Gateway API) | ✅ Automatisch (Controller-Loop) | 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 | Binary-Download | ⚙️ Teilweise (deploy hook) | ⚙️ Externer Scheduler nötig | 180+ (nativ) ⚡ | Go | JA | Cloud, Docker, CI/CD |
| Posh-ACME | Windows, Linux (PS Core) | ✅ Ja | PowerShell Gallery | ⚙️ Teilweise (Skripte) | ✅ Automatisch (Task Scheduler) | 100+ | PowerShell | Automatisierung und Skripting auf Windows | |
| dc-acme | Linux, Windows | ✅ Ja | Installationsskript (curl / PS) | ⚙️ Teilweise (Dateisystem / Benutzerdefinierte Handler) | ✅ Automatisch (Systemdienst) | UltraDNS, Cloudflare, Route53, Azure | Java / TOML | Enterprise-Umgebungen (DigiCert MPKI / ONE) | |
✅ Vollautomatisch – alles erfolgt automatisch ohne Benutzereingriff.
⚙️ Teilweise automatisch – erfordert manuelle Einstellung oder Skript.
⚡ Sie können das DNS-Plugin für CZECHIA.COM/RegZone verwenden; es ist entweder im Projekt oder separat auf Github verfügbar.
Wie wählt man den richtigen ACME-Client aus
Die Auswahl eines ACME-Clients hängt von den Zielen ab, die Sie haben. Sie möchten vielleicht nur ein Zertifikat ausstellen und dann manuell oder per Skript weiterarbeiten, oder Sie möchten eine vollständige Zertifikatslebenszyklusautomatisierung auf dem Webserver einrichten und sich darum nicht mehr kümmern. Das sind die Kriterien, die wichtig für die Wahl sind.
Die Automatisierung des gesamten Zertifikatslebenszyklus besteht aus mehreren Teilen, die der ACME-Client lösen muss:
- Kommunikation mit der CA - für OV- und EV-Zertifikate ist EAB ACME-Unterstützung seitens des Clients erforderlich. Nicht jeder Client unterstützt EAB; z.B. die native Umsetzung von ACME in nginx kann EAB nicht.
- Automatische Domainverifizierung - bei jeder Ausstellung eines Zertifikats muss die Domain verifiziert (DCV) werden, oder die Domain muss vorausverifiziert sein. Ohne automatische Domainverifizierung wird in Zukunft keine Zertifikatausstellung möglich sein.
- HTTP-01: Auf dem Server wird eine Verifizierungsdatei bereitgestellt und die CA überprüft sie. Port 80 wird verwendet.
- DNS-01: Der Verifizierungseintrag wird in die DNS-Zone der Domain gesetzt. Um den DNS-Eintrag zu ändern, müssen Sie ein DNS-API-Plugin des Anbieters haben (Cloudflare, CZECHIA.COM).
- Zertifikatsausstellung - DV-Zertifikate werden sofort ausgestellt, für OV und EV muss die Organisation verifiziert sein, was durch Vorausverifizierung gelöst wird. Das ausgestellte Zertifikat wird vom ACME-Client lokal auf der Festplatte gespeichert, wo bereits der private Schlüssel ist. Mit dem Zertifikat kann dann weiter per Skripten gearbeitet werden (deploy-hook).
- Zertifikatsinstallation/-einstellung auf dem Server - Einstellung (Installation) des Zertifikats für den richtigen Dienst auf dem Webserver. Das erfordert Änderungen und Anpassungen von Konfigurationsdateien + Neustart des Dienstes. Die 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
Charakteristisch für ACME-Clients ist, dass sie das ausgestellte Zertifikat auf die am weitesten verbreiteten Webserver - Apache, nginx und IIS - einstellen können. Meistens enden dort 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 auf in die Phasen der Ausstellung und der Bereitstellung des Zertifikats aufteilen.
Die Ausstellung können Sie immer mittels acme.sh und DNS automatisieren; das Zertifikat kann so auf jedem beliebigen Gerät ausgestellt werden und Sie müssen ACME nicht direkt auf dem Server ausführen, wie es HTTP-01 erfordert. Das ausgestellte Zertifikat muss dann auf den Zielserver übertragen und dort bereitgestellt werden, was individuell für den jeweiligen Typ des Webservers geskriptet werden muss.
Beraten Sie sich mit unserem Support
Wenn dieser Artikel nicht alle Ihre Fragen beantwortet hat, zögern Sie nicht, sich an unseren SSLmarkt-Support zu wenden. Unsere Experten stehen Ihnen täglich zur Verfügung.