既然 Microsoft 不再更新 Windows Server 的根 CA 证书,那么从哪里可以获取它们?

既然 Microsoft 不再更新 Windows Server 的根 CA 证书,那么从哪里可以获取它们?

微软从 WSUS 中删除了根 CA 更新2013 年 1 月。我现在有一些新安装的 Windows Server 2012,其根 CA 不足(基本上只有 Microsoft 自己的 CA)。这意味着,除非我专门安装根 CA,否则每当我们的应用程序调用 https Web 服务时,它都会失败。

由于我们的应用程序在负载平衡器上使用 SSL 终止,因此我无需担心促使 Microsoft 删除这些更新的 16KB SChannel 限制。我想找到安装和更新标准根 CA 的资源。有人知道这样的资源吗?

这是 WS2012 中默认根 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。懒惰的管理员会简单地禁用其内部网服务器的此功能,而从不解决根本问题 —— 重新签署不再信任的所有内容。

无论如何,简单的答案是使用不同的代码签名证书。

相关内容