提醒:本页面将不再更新、维护或者支持,文章、评论所叙述内容存在时效性,涉及技术细节或者软件使用方面不保证能够完全有效可操作,请谨慎参考!

今天检查了一下新装的Windows 7系统的事件,在控制面板,事件查看器中 - Windows 日志 - 应用程序,发现有大量来源为CAPI32的错误,甚至已经“达到 50 事件的 crypt32 阈值,将暂停记录 60 分钟。”的警告,看来问题不小,具体错误描述如下:

在 <http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootstl.cab> 从自动更新 cab 中提取第三方的根目录列表失败,错误为: 根据当前系统时钟或签名文件中的时间戳验证时要求的证书不在有效期内。

寻求网络后得到微软的KB文章一篇 《在 Windows Vista、Windows Server 2008 以及更高版本的 Windows 和 Windows Server 的应用程序日志中记录了事件 ID 4107 或事件 ID 11》 ,得知这个问题是由于“Microsoft 证书信任列表发行商证书已过期。CryptnetUrlCache 文件夹中存在签名证书已过期的 CTL 的副本。 ”,所以要清除过期缓存,微软为我们提供了两种解决方案,其中第一种最为简单和人性化,使用微软的Fix It一键快速修复, 下载地址在这里 。第二种办法就是遵循下面的步骤手动修复(我这里大概摘录一下,详细的请访问原文):

1. 打开命令提示符,开始 - 所有程序 - 附件,然后启动命令提示符。 2. 输入命令 certutil -urlcache * delete 并回车。 3. 如果过期的证书缓存在某个本地系统配置文件中,您必须使用 Windows 资源管理器删除一些目录的内容。 显示所有的隐藏和受保护的操作系统文件,单击“组织”,然后单击“文件夹和搜索选项”,其余你可以参考 这里的部分叙述

删除列在此处的目录内容。(%windir% 是 Windows 目录。) 注意 您可能会收到一条消息,指出您无权访问该文件夹。如果收到此消息,请单击“继续”。 LocalService: %windir%\ServiceProfiles\LocalService\AppData\LocalLow\Microsoft\CryptnetUrlCache\Content %windir%\ServiceProfiles\LocalService\AppData\LocalLow\Microsoft\CryptnetUrlCache\MetaData NetworkService: %windir%\ServiceProfiles\NetworkService\AppData\LocalLow\Microsoft\CryptnetUrlCache\Content %windir%\ServiceProfiles\NetworkService\AppData\LocalLow\Microsoft\CryptnetUrlCache\MetaData LocalSystem: %windir%\System32\config\systemprofile\AppData\LocalLow\Microsoft\CryptnetUrlCache\Content %windir%\System32\config\systemprofile\AppData\LocalLow\Microsoft\CryptnetUrlCache\MetaData