Hallo!
Ich habe eine zweistufige PKI mit einer offline Root-CA und einer Enterprise Sub-CA aufgesetzt. Die Zertifikatsperrlisten werden klassisch (*.crl, nur IIS) und mittels OCSP veröffentlicht. Laut pkiview sind beide CAs (und damit auch die Sperrlistenkonfigurationen)
OK.
Ich möchte noch anmerken, dass ich mich derzeit nur innerhalb der Domäne bewege (Zertifikatprüfungen von außerhalb spielen zunächst keine Rolle). Als Client kam ein Windows 7 Professional zum Einsatz.
Jetzt habe ich über den IIS ein Domänenzertifikat (SSL) für einen Webserver und über den Zertifikatmanager ein Zertifikat für eine Smartcard-Anmeldung für einen einfachen Domänen-Benutzer erstellt. Beide werden
korrekt verarbeitet und als gültig erkannt (SSL und Smartcard-Anmeldung funktioniert, laut certutil auch Sperrlistenprüfung und OCSP-Antwort OK). Die Zertifikate wurden nicht im AD veröffentlicht.
Zu meinem Problem: Beide Zertifikate (Webserver und Smartcard) werden gesperrt und der Zertifikatsperrlisten-Cache mittels certutil (-urlcache) gelöscht. Öffne ich die Webseite dann im Internet Explorer (8) wird diese aber immernoch als gültig
angezeigt. Ich habe in der Ereignisanzeige die CAPI2-Ereignisaufzeichnung aktiviert und in dieser wird das Zertifikat merkwürdigerweise als gültig angezeigt (Event ID 41). Ein Blick in die Details zeigt, dass die OCSP-Antwort NICHT aus der Location
"Wire" oder "UrlCache" (diese hätte ich erwartet) sondern aus der Location "CertProp" bezogen wurde und diese das Zertifikat (noch) als gültig einstufte. Ein Test mit certutil oder einem alternativen Browser zeigte das Zertifikat sofort als gesperrt.
Ich kann leider keine Informationen zu dieser "CertProp"-Location finden...
Derzeitig nutze ich als Workaround eine Gruppenrichtlinie, in der ich die gesperrten Zertifikate zusätzlich in der Zertifikatspeicher für nicht vertrauenswürdige Zertifikate ausrolle. Damit wird die Webseite erfolgreich gesperrt. Gerade bei
den Webseitenzertifikaten sollte aber auch OCSP funktionieren da nicht alle Clients in der Domäne sind.
Nachtrag 1: Ich habe heruasgefunden, das der Cache nach einiger Zeit automatisch ungültig wird und das SSL-Zertifikat anschließend korrekt gesperrt wird. Könnte es sich um einen IE-eigenen Cache handeln? Ich habe bis jetzt
auch noch keine Möglichkeit gefunden den Cache (wie bei einer Smartcard-Anmeldung s.u.) manuell zeitlich ungültig zu setzen.
Schonmal vielen Dank für die Hilfe!
Nachtrag 2: Auch bei der Smartcard-Anmeldung wurde der Sperrlisten-Cache gelöscht. Jedoch war eine Anmeldung trotz Sperrung möglich. Die Smartcard-Zertifikate werden von dem DC kontrolliert. In der CAPI2-Ereignisanzeige zeigen
alle Sperrprüfungen (Event ID 41) das Zertifikat als NICHT gesperrt an. Ermittelt wird dies aus der Location "TvoCache".
Dieser TvoCache (Time Valid Objects) kann mit dem Aufruf "certutil -setreg chain\ChainCacheResyncFiletime @now" zeitlich ungültig gemacht werden wodurch die Sperrliste für die nächste Zertifikatkontrolle wieder neu abgerufen wird. Die Smartcard-Anmeldung
wurde anschließend erfolgreich blockiert.
Grüße, Gabor