SSLmentor

Hochwertige TLS/SSL-Zertifikate für Websites und Internetprojekte.

ACME

ACME

ACME

Das ACME-Protokoll (Automatic Certificate Management Environment) ist ein offener Internetstandard, der die vollständig automatisierte Ausstellung, Erneuerung und den Widerruf von SSL-Zertifikaten ermöglicht. Dank ACME können Webserver Zertifikate selbst anfordern und automatisch erneuern, ohne dass ein Administrator manuell eingreifen muss. Implementierungen von ACME-Clients automatisieren und vereinfachen die Zertifikatsverwaltung erheblich – zu einer Zeit, in der neue Standards die Gültigkeit von SSL/TLS-Zertifikaten schrittweise auf maximal 47 Tage bis 2029 verkürzen.

Was ist das ACME-Protokoll?

ACME ist ein in RFC 8555 definiertes Protokoll (veröffentlicht 2019), das die Kommunikation zwischen einem Client (Webserver oder Zertifikatsverwaltungs-Tool) und einer Zertifizierungsstelle (CA) standardisiert. Es wurde ursprünglich von der Zertifizierungsstelle Let's Encrypt entwickelt und bekannt gemacht, die kostenlose DV-Zertifikate über ACME ausstellt.

Das Protokoll arbeitet nach dem Prinzip Challenge – Response: Der Client weist der Zertifizierungsstelle (CA) nach, dass er die Domain, für die er ein Zertifikat anfordert, tatsächlich kontrolliert. Nach erfolgreicher Überprüfung stellt die CA das Zertifikat automatisch aus. Der gesamte Vorgang dauert nur sehr kurze Zeit.

Die Abkürzung ACME steht für Automatic Certificate Management Environment.

Wie funktioniert ACME?

Die Kommunikation zwischen dem ACME-Client und der Zertifizierungsstelle (CA) erfolgt ausschließlich über eine HTTP REST API. Client und CA tauschen Nachrichten im JSON-Format aus. Der gesamte Vorgang lässt sich in den folgenden Schritten zusammenfassen.

  • Kontoaktivierung – Der ACME-Client verbindet sich mit der CA über EAB-Anmeldedaten (External Account Binding). Er sendet den Key identifier (KID) und den HMAC-Schlüssel.
  • Zertifikatsanforderung (Order) – Der Client sendet der CA eine Liste der Domains, für die er ein Zertifikat anfordert. Die CA gibt eine Liste von Challenges zurück, die der Client für jede Domain erfüllen muss.
  • Erfüllen der Challenge (Challenge) – Der Client wählt einen der angebotenen Challenge-Typen (HTTP-01, DNS-01, TLS-ALPN-01) und führt die erforderliche Aktion aus – er legt einen Token auf dem Server ab oder setzt einen DNS-Eintrag.
  • Überprüfung durch die CA – Die CA prüft automatisch, ob die Challenge erfüllt wurde (ruft die URL auf, überprüft den DNS-Eintrag usw.). Eine erfolgreiche Überprüfung bestätigt die Domain-Autorisierung.
  • Ausstellung des Zertifikats – Der Client sendet eine Zertifikatsanforderung (CSR). Die CA signiert das Zertifikat und sendet es im PEM-Format an den Client zurück.
  • Automatische Erneuerung – Der ACME-Client richtet in seiner Konfiguration eine regelmäßige Erneuerung ein. Das Zertifikat wird in der Regel rechtzeitig vor Ablauf erneuert, um HTTPS-Ausfälle zu verhindern.

Arten von ACME-Challenges

Damit die Zertifizierungsstelle (CA) überprüfen kann, dass der Antragsteller die Domain tatsächlich kontrolliert, bietet das ACME-Protokoll drei standardisierte Challenge-Typen:

HTTP-01

Der ACME-Client legt eine spezielle Datei (Token) auf dem Webserver im Verzeichnis /.well-known/acme-challenge/ ab. Die CA überprüft dann deren Verfügbarkeit per HTTP über Port 80. Dies ist die am häufigsten verwendete Überprüfungsmethode.

Einschränkungen: Funktioniert nicht für WildCard-Zertifikate. Die Domain muss öffentlich über Port 80 erreichbar sein.

DNS-01

Der Client erstellt einen speziellen TXT-Eintrag im DNS der Domain in der Form _acme-challenge.domenaxyz.cz mit einem eindeutigen Token der CA. Die CA überprüft den Eintrag per DNS. Diese Überprüfungsmethode ermöglicht die Ausstellung eines WildCard-Zertifikats.

Einschränkungen: Erfordert Zugriff auf die DNS-Einträge der Domain. Kann durch die Verbreitung von DNS-Änderungen langsamer sein.

TLS-ALPN-01

Die Überprüfung erfolgt über TLS auf Port 443 mithilfe der ALPN-Erweiterung (Application-Layer Protocol Negotiation). Der Client stellt vorübergehend ein spezielles Zertifikat mit dem ACME-Token bereit.

Einschränkungen: Kann für einige Hosting-Umgebungen kompliziert sein.

ACME-Clients – Überblick über die Tools

Es gibt eine Vielzahl von fertigen Tools für die Arbeit mit dem ACME-Protokoll.

Certbot

Der beliebteste ACME-Client von EFF.org. Automatische Integration mit Apache und Nginx. Unterstützung für Linux und macOS. Certbot ist ein weit verbreitetes und gut dokumentiertes Tool, das einfache Befehle zum Anfordern und Erneuern von Zertifikaten bietet. Es bietet außerdem umfangreiche Unterstützung für verschiedene Webserver und Hosting-Umgebungen.

acme.sh

Ein minimalistischer ACME-Client, geschrieben in Shell, mit Unterstützung für über 150 DNS-Anbieter. Linux, macOS, FreeBSD. acme.sh legt den Schwerpunkt auf Einfachheit und breite Kompatibilität.

win-acme

Ein ACME-Client für Windows mit IIS-Integration. Unterstützt sowohl GUI als auch Befehlszeile. win-acme ist ideal für die Verwaltung von Zertifikaten auf Windows-Servern, insbesondere mit IIS.

Lego

Ein in Go geschriebener ACME-Client. Geeignet für individuelle Integration und Skripting. Lego ist ein flexibler ACME-Client, der sich dank seiner Implementierung in der Sprache Go leicht in eigene Systeme und Skripte integrieren lässt.

Zurück zur Infozentrum
Fehler gefunden oder etwas nicht verstanden? Schreiben Sie uns!

CA Sectigo
CA RapidSSL
CA Thawte
CA GeoTrust
CA DigiCert
CA Certum