Skip to main content
AD-PKI Logo AD-PKIDocs
🔄 ACME, CRL und OCSP
Docs/ACME, CRL und OCSP

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?

EigenschaftCRLOCSP
Prüfunggesamte Listeeinzelnes Zertifikat
Aktualitätperiodisch (Next Update)nahezu in Echtzeit
Bandbreitehöher (volle Liste)gering pro Anfrage
Offline nutzbarja (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.