ACME, CRL und OCSP
Automatische Zertifikatsausstellung über ACME sowie Sperrprüfung über CRL und OCSP nutzen.
AD-PKI stellt Zertifikate automatisiert über das ACME-Protokoll aus und veröffentlicht den Sperrstatus über CRL und OCSP. Dieses Kapitel zeigt die praktische Nutzung der drei Schnittstellen.
ACME
Der CA-Core stellt einen ACME-Endpunkt bereit, der mit Standard-Clients wie certbot oder acme.sh kompatibel ist. Die Verzeichnis-URL lautet:
https://<deine-adpki-domain>/acme/directory
Welche Intermediate-CA für ACME-Anfragen signiert, wird in der Weboberfläche unter Security → ACME über das Dropdown der aktiven Intermediate festgelegt.
Zertifikat per HTTP-01-Challenge
Bei der HTTP-01-Challenge weist der Client die Kontrolle über die Domain per HTTP nach. Der Port 80 muss dafür frei sein (--standalone):
sudo certbot certonly \
--server https://<deine-adpki-domain>/acme/directory \
--standalone \
--domain adpki.danakiran.de \
--agree-tos \
--email admin@firma.de \
--non-interactive
Wildcard-Zertifikat per DNS-01-Challenge
Wildcard-Zertifikate (*.domain) sind ausschließlich über die DNS-01-Challenge möglich. Der angezeigte TXT-Eintrag muss in der DNS-Zone hinterlegt werden:
sudo certbot certonly \
--server https://<deine-adpki-domain>/acme/directory \
--manual \
--preferred-challenges dns \
--domain "*.danakiran.de" \
--agree-tos \
--email admin@firma.de
Automatische Erneuerung
ACME-Zertifikate sind kurzlebig und werden automatisch erneuert. Der über den Installer eingerichtete Scheduler (php artisan schedule:run, jede Minute per Cron) übernimmt serverseitige Aufgaben. Auf Client-Seite erneuert certbot renew ausstehende Zertifikate:
sudo certbot renew --server https://<deine-adpki-domain>/acme/directory
CRL (Certificate Revocation List)
Die Sperrliste enthält alle widerrufenen Seriennummern einer ausstellenden CA. Clients laden sie regelmäßig herunter und prüfen damit, ob ein Zertifikat noch gültig ist.
Der Verteilpunkt (CRL Distribution Point) wird beim Ausstellen in jedes Zertifikat eingetragen und ist direkt abrufbar:
CRL herunterladen:
curl -o adpki.crl http://<deine-adpki-domain>/api/crl/<intermediate-id>.crl
Inhalt im Klartext prüfen:
openssl crl -in adpki.crl -inform DER -text -noout
Die CRL wird nach jeder Sperrung sowie in regelmäßigen Abständen neu signiert und veröffentlicht. Plane den Abruf so, dass die Next Update-Zeit nicht überschritten wird.
OCSP (Online Certificate Status Protocol)
OCSP liefert den Sperrstatus eines einzelnen Zertifikats in Echtzeit – ohne dass die komplette CRL geladen werden muss. Der OCSP-Responder-URL wird ebenfalls in die ausgestellten Zertifikate eingetragen.
Status eines Zertifikats prüfen:
openssl ocsp \
-issuer intermediate.crt \
-cert server.crt \
-url http://<deine-adpki-domain>/api/ocsp \
-resp_text
Das Ergebnis meldet einen der Zustände good, revoked oder unknown. Bei revoked werden zusätzlich Sperrzeitpunkt und ggf. Sperrgrund ausgegeben.
CRL oder OCSP?
| Eigenschaft | CRL | OCSP |
|---|---|---|
| Prüfung | gesamte Liste | einzelnes Zertifikat |
| Aktualität | periodisch (Next Update) | nahezu in Echtzeit |
| Bandbreite | höher (volle Liste) | gering pro Anfrage |
| Offline nutzbar | ja (gecacht) | nein (Responder erreichbar) |
In der Praxis ergänzen sich beide Verfahren: OCSP für die schnelle Einzelprüfung, CRL als robuster Fallback. Beide werden vom AD-PKI CA-Service automatisch bereitgestellt und müssen nur korrekt erreichbar sein.