Zum Inhalt

ACME im Detail · 18.1

So funktioniert ACME

ACME (Automatic Certificate Management Environment, RFC 8555) ist ein offenes Internetprotokoll. Mit ACME bestellt, erneuert und widerruft Software wie TLSPilot Zertifikate bei einer Zertifizierungsstelle (CA) vollautomatisch. Statt dass eine Person ein Formular ausfüllt, weist TLSPilot selbst nach, dass Sie die Domain kontrollieren, zum Beispiel mit einem DNS-Eintrag oder einer Datei auf dem Webserver. Let’s Encrypt hat ACME populär gemacht. Heute bieten auch Google Trust Services, ZeroSSL, Sectigo, DigiCert und andere CAs ACME an.

Vereinfacht ist ACME eine Bestellung mit Identitätsnachweis. Jede Nachricht wird als JSON über HTTPS verschickt und mit dem Schlüssel des ACME-Kontos signiert, sodass die CA immer weiss, welches Konto eine Anfrage sendet:

1KontoTLSPilot registriert beim Provider ein ACME-Konto. Manche Provider verlangen External Account Binding (EAB), zum Beispiel ZeroSSL.
2BestellungTLSPilot bestellt ein Zertifikat für die eingegebenen Namen: den Common Name und die SANs.
3ChallengeTLSPilot weist die Kontrolle über jeden Namen mit DNS-01, HTTP-01 oder TLS-ALPN-01 nach. Die CA prüft das von mehreren Netzwerkstandorten aus.
4FinalizeTLSPilot sendet einen CSR mit einem neuen Schlüssel. Die CA stellt das Zertifikat aus, und TLSPilot lädt es mit seiner Kette herunter.
5ErneuerungEine Erneuerung ist einfach eine neue Bestellung. Mit ARI teilt die CA TLSPilot mit, wann erneuert werden soll.

Die drei Challenge-Typen unterscheiden sich darin, was die CA prüft. Die Kapitel DNS-01, HTTP-01 und TLS-ALPN-01 erklären jeden davon:

ACME-Challenge-Typen im Überblick
ChallengeWie die CA prüftGut zu wissen
DNS-01Ein TXT-Record _acme-challenge.<domain> in der öffentlichen DNS-Zone.Funktioniert für Wildcard-Namen und für interne Server mit öffentlichem DNS-Namen. Setzt API-Zugriff auf Ihren DNS-Provider oder die manuelle DNS-Validierung voraus.
HTTP-01Eine Datei unter /.well-known/acme-challenge/ auf Port 80.Einfach, kein DNS-Zugriff nötig. Port 80 muss aus dem Internet erreichbar sein. Keine Wildcard-Namen.
TLS-ALPN-01Ein spezieller TLS-Handshake auf Port 443.Es wird nur Port 443 verwendet. Keine Wildcard-Namen. Unter Windows und IIS selten praktikabel.

Warum die Gültigkeit öffentlicher Zertifikate immer kürzer wird und was das für Sie bedeutet, erklärt Kapitel Warum Automatisierung wichtig ist.

In TLSPilot gehört das ACME-Konto zum ACME-Provider: die optionale Kontakt-E-Mail bei Providern ohne EAB, die Directory-URLs, das EAB-Credential, falls der Provider es verlangt, und der Standard-Schlüsselalgorithmus, siehe Abbildung ACME-Konto eines Providers in TLSPilot und Kapitel ACME-Einstellungen.

ACME-Konto eines Providers in TLSPilot
ACME-Konto eines Providers in TLSPilot