Windows OS(XP、Windows 7)のマニュアルでローカルCRL(OSローカルキャッシュ)をリセットするにはどうすればよいですか?ローカルCRLをリセットする必要があります。リセットしないと、OSは「次の更新」期間までローカルCRLを使用します。
"Manually publish the CRL" で説明されているように:
以前に公開されたCRLまたはDelta CRLのキャッシュされたコピーを持つクライアントは、新しいCRLが公開されても有効期限が切れるまでそれを使用し続けます。 CRLを手動で発行しても、まだ有効なCRLのキャッシュされたコピーには影響しません。有効なCRLがないシステムで新しいCRLを使用できるようにするだけです。
「 証明書の取り消しの仕組み 」の記事から:
certutil -urlcache crl delete
しかし警告があります:
Windows XPまたはWindows Server 2003でCRLキャッシュをフラッシュするには、アプリケーションまたはコンピューターを再起動する必要がある場合があります。
どうやらこのコマンドとその他のバリエーションはディスクキャッシュのみをクリアしますが、CRLもメモリにキャッシュされる可能性があるため、一部のサービスの再起動が必要になる場合があります。
Windows Vista(およびおそらく7)では、メモリにキャッシュされたCRLもクリアする、より良い方法が推奨されます。
certutil -setreg chain\ChainCacheResyncFiletime @now
このコマンドは、ドメインコントローラーとクライアントマシンの両方で実行する必要があります。
ドメインコントローラで次を実行します。
certutil -setreg chain\ChainCacheResyncFiletime @now
net stop certsvc
net start certsvc
クライアントマシンで次を実行します。
certutil -setreg chain\ChainCacheResyncFiletime @now