微软从 WSUS 中删除了根 CA 更新2013 年 1 月。我现在有一些新安装的 Windows Server 2012,其根 CA 不足(基本上只有 Microsoft 自己的 CA)。这意味着,除非我专门安装根 CA,否则每当我们的应用程序调用 https Web 服务时,它都会失败。
由于我们的应用程序在负载平衡器上使用 SSL 终止,因此我无需担心促使 Microsoft 删除这些更新的 16KB SChannel 限制。我想找到安装和更新标准根 CA 的资源。有人知道这样的资源吗?
这是 WS2012 中默认根 CA 的图像。
答案1
这似乎是由于我的公司使用的奇怪的 GPO 造成的。
正如概述这里GPO 设置计算机配置\管理模板\系统\Internet 通信管理\关闭自动根证书更新曾是已启用,这意味着操作系统不会从 Microsoft 获取根 CA。将其设置为已禁用解决了这个问题。
答案2
我们发现某些 Windows 2012 R2 服务器上的根 CA 已经过期。
经过调查,微软似乎发布了一个补丁来提供“控制更新根证书功能以防止信息流进和流出互联网“(知识库文章)。
此修补程序引入了新的注册表项,用于阻止 Windows Update 更新根 CA 以及其他功能。
将以下注册表项设置为 0 可修复此问题。更改后证书将立即开始安装。
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\SystemCertificates\AuthRoot\DisableRootAutoUpdate
虽然我知道管理员可能想控制他们的机器,防止它在未经他们同意的情况下进行更新,但我认为不允许根 CA 更新是一种极端情况,它可能会导致更多的问题,而且我还不知道为什么在我们的服务器上设置了注册表项。
讨论了这些注册表项以及您可以在 Windows 2012 R2 服务器上执行的其他操作这里
答案3
如果没有人说,那我就说吧。微软几年前搞砸了,发布了受信任根 CA 的更新,导致在微软撤回更新之前,任何幸运地获得该更新的机器都崩溃了。直到今天,我仍然在处理这个问题。
由于我了解安全隐患,因此我不会提供这些问题的直接链接。相反,这是人们在 Google 中搜索以查找相关信息的内容:
更新 KB3004394 破坏了 Windows 7/Windows Server 2008 R2 中的根证书
微软发布“Silver Bullet”补丁 KB 3024777 以消除 KB 3004394
我所经历的一个问题,至今仍引发了无数的问题:
安装 KB 931125 后出现 SSL/TLS 通信问题
此包安装了 330 多个第三方根证书颁发机构。目前,Schannel 安全包支持的受信任证书颁发机构列表的最大大小为 16 千字节 (KB)。如果第三方根证书颁发机构数量过多,则会超出 16k 的限制,并且您将遇到 TLS/SSL 通信问题。
另一个原因是微软多年来不信任许多根 CA。懒惰的管理员会简单地禁用其内部网服务器的此功能,而从不解决根本问题 —— 重新签署不再信任的所有内容。
无论如何,简单的答案是使用不同的代码签名证书。