Den Adress-Zwischenspeicher für Sperrlisten (CRL URL Cache) einsehen und löschen

Alle Anwendungen, die das Microsoft Cryptographic Application Programming Interface Version 2 (Crypto API Version 2, CAPI2) verwenden, haben einen Mechanismus für die Zwischenspeicherung von Sperrinformationen für Zertifikate (Zertifikatsperrlisten und OCSP-Antworten).

Es kann somit nicht garantiert werden, dass beispielsweise eine neu veröffentlichte Sperrliste von den Teilnehmern verwendet wird, bevor die vorige Sperrliste, die sich noch im Cache befindet, abgelaufen ist.

Nachfolgend wird beschrieben, wie man den Sperrlisten-Cache einsehen und beeinflussen kann.

Mitunter ist es erforderlich, dass ein von einer Zertifizierungsstelle ausgestelltes Zertifikat bereits vor dessen Ablaufdatum aus dem Verkehr gezogen werden muss. Um dies zu ermöglichen, hält eine Zertifizierungsstelle eine Sperrliste vor. Hierbei handelt es sich um eine signierte Datei mit einem relativ kurzen Ablaufdatum, welches in Kombination mit dem Zertifikat zur Überprüfung der Gültigkeit herangezogen wird.

Der Online Responder (Online Certificate Status Protocol, OCSP) ist eine alternative Möglichkeit, Sperrstatusinformationen für Zertifikate bereitzustellen. Entitäten, die den Sperrstatus eines Zertifikats überprüfen möchten, müssen dank OCSP nicht die komplette Liste aller widerrufenen Zertifikate herunterladen, sondern können gezielt eine Anfrage für das betreffende Zertifikat an den Online Responder stellen. Für eine detailliertere Beschreibung siehe Artikel "Grundlagen Online Responder (Online Certificate Status Protocol, OCSP)".

Umsetzung

Kennen Sie TameMyCerts? TameMyCerts ist ein Add-On für die Microsoft Zertifizierungsstelle (Active Directory Certificate Services). Es erweitert die Funktion der Zertifizierungsstelle und ermöglicht die Anwendung von Regelwerken, um die sichere Automatisierung von Zertifikat-Ausstellungen zu realisieren. TameMyCerts ist einzigartig im Microsoft-Ökosystem, hat sich bereits in unzähligen Unternehmen auf der ganzen Welt bewährt und steht unter einer freien Lizenz. Es kann über GitHub heruntergeladen und kostenlos verwendet werden. Professionelle Wartung wird ebenfalls angeboten.

Der Cache ist auf zwei Arten implementiert:

  • Anwendungsspezifischer Cache
  • Dateisystem-Cache

Der anwendungsspezifische Cache kann nur durch beenden und neu starten der jeweiligen Anwendung gelöscht werden, da er im Arbeitsspeicher vorgehalten wird. Bei Systemdiensten muss daher unter Umständen sogar der Computer neu gestartet werden.

Den Dateisystem-Cache kann man jedoch einsehen und beeinflussen. Eine Einsicht in den Dateisystem-Cache ist mit folgendem Befehl möglich.

certutil -urlcache

Hierbei kann eine Trennung zwischen Sperrlisten und OCSP Antworten mit den folgenden Optionen erfolgen.

certutil -urlcache crl
certutil -urlcache ocsp

Gelöscht werden kann der Dateisystem-Cache mit dem folgenden Befehl:

certutil -urlcache * delete

Der Dateisystemcache ist einmal pro Benutzerprofil vorhanden. Jedoch ist der Computer selbst mit dem SYSTEM-Konto ebenfalls ein Benutzer. Eine Löschung dieses Caches kann z.B. durch eine mit psexec geöffnete System-Shell erfolgen.

Eine Löschung des Dateisystem-Cache für das SYSTEM-Konto kann beispielsweise dadurch erfolgen, dass man eine Kommandozeile in diesem Sicherheitskontext mit einem Werkzeug wie psexec startet.

psexec -s -i cmd.exe
certutil -urlcache * delete 

Weiterführende Links:

de_DEDeutsch