windows-server-2008 – 什么原因导致将受信任的根证书颁发机构自动安装到本地计算机的证书存储区?

我花了一整天时间使用相互HTTPS来诊断测试服务的问题.服务在运行 Windows Server 2008 Enterprise Edition的测试服务器上的IIS 7中托管.

突然几周前,所有测试服务都停止工作,对这些服务的任何请求都以403.7“需要客户端证书”问题结束.经过大量搜索后,我发现this article描述了与Windows Server 2003类似的问题.

简而言之,问题是由本地计算机证书存储中安装的过多受信任的根CA引起的.相互HTTPS握手期间的服务器将可信CA的“列表”发送到客户端,客户端可以根据此列表选择证书(除非IIS中的站点配置了CTL,但是适用于a different question).问题是列表只能有16KB,所以如果有更多的CA,它们就不会发送到客户端.如果使用的客户端证书是由其中一个截断的CA颁发的,则不会将其发送到服务器.

之后,我检查了本地机器的受信任的根证书存储,我发现安装了200多个受信任的根CA.更糟糕的是:我们没有安装它们!我在某处找到了一些信息(抱歉找不到它),这些CA是通过Windows Update自动安装的.

问题:如何在不关闭Windows更新的情况下关闭将CA证书安装到我们的计算机上?

我不认为它们都是由Windows Update安装的,老实说.可能会有更多的人遇到这个问题,对吧?

它们也可以通过GPO和域成员身份安装,这是我首先看到的地方.

但是,在查看之前,我想允许使用HTTPS …(可能,除非您怀疑或知道您在那里有恶意CA信任),这最容易通过删除您不想要的那些来完成. Certificate Manager Tool,以及GPO的启动或关闭脚本部分中的脚本删除.

它们也可以被恶意安装,如果是这种情况,你就会受到严重破坏,我建议您需要开始将每台使用恶意证书的计算机作为可信任CA进行擦除.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...