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 (Sperrlisten 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.

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