Eine Certificate Revocation List (CRL) ist eine signierte Liste von X.509-Zertifikaten, die vor Ablauf ihrer Gültigkeit von einer CA für ungültig erklärt wurden – etwa wegen Schlüsselkompromittierung, Identitätswechsel oder Außerbetriebnahme. Clients laden die CRL von einem in den Zertifikaten hinterlegten Distribution Point und prüfen, ob die Seriennummer enthalten ist.
CRLs werden von praktisch jeder PKI publiziert, häufig im Stunden- oder Tagesrhythmus. Sie sind im Standard X.509v2 CRL-Profil (RFC 5280) festgelegt und enthalten Felder wie Issuer, thisUpdate, nextUpdate, eine Liste der widerrufenen Zertifikate sowie eine Signatur durch die CA.
Einsatzzweck ist die nachträgliche Revokation: Einmal ausgestellte Zertifikate sind technisch gültig, bis ihr "notAfter"-Datum erreicht ist. Wenn aber etwa ein Schlüssel kompromittiert wird, muss eine Möglichkeit existieren, die Restgültigkeit aufzuheben, ohne auf das Ablaufdatum warten zu müssen.
CRLs sind seit X.509v1 (1988) Bestandteil des Standards und gehörten lange zur Standardprüfung in Browsern und Betriebssystemen. In der Praxis erwiesen sich große CRLs jedoch als unhandlich, weshalb OCSP (RFC 2560, 1999) als Alternative entwickelt wurde und heute in vielen Szenarien dominiert.
Große Browser haben CRLs zugunsten effizienterer Mechanismen weitgehend verdrängt: Mozilla nutzt CRLite, Google CRLSets, beide arbeiten mit hochkomprimierten, vorberechneten Listen. Das ändert nichts daran, dass CRLs in vielen Maschinen-PKIs, Industriebussen und älteren Systemen weiter aktiv im Einsatz sind. Eine alternative Strategie besteht darin, die Gültigkeitsdauer von Zertifikaten stark zu verkürzen. Im industriellen Ansatz sind das nur noch Tage.