为什么 Windows XP 不能处理较新的 SSL 证书版本?

Why can't Windows XP handle newer SSL certificate versions?

据我了解,由于 Windows XP 支持被正式取消,某些网站使用的最新版本的 SSL 证书由于不兼容而无法被 Chrome 和 WinXP 上的 IE 访问。但是,Firefox 显然仍然支持 Windows XP,并且可以自由访问这些网站。

我不太明白 SSL 证书的兼容性是如何工作的,在 Chrome 和 IE 上它怎么可能要求你完全切换到一个新的 OS 但是当只是使用不同的浏览器?如果 Firefox 可以支持,为什么一个简单的社区开发人员不能为 Chrome 和 IE 创建一个 "patch"?浏览器和OS有什么关系?我在哪里画线?

虽然我不能说我 100% 正确,但我相信 ssl 与浏览器有关,与实际操作系统无关。所以我 运行 遇到了一个与你所问的完全相反的问题。客户端在 windows 7 机器上,需要通过 chrome 访问时代华纳企业电子邮件,但由于 SSL 问题无法访问。问题是 Chrome 放弃了对旧版本 SSL 的支持,因此她选择使用 IE 或 Firefox 或降级并希望 chrome 不会强制其自身更新。微软希望用户升级,所以他们当然不会让 IE 保持最新,google 也不会支持过时的操作系统。 Firefox 是开源的,因此人们让浏览器与尽可能多的设备兼容是有道理的。希望这可以帮助。

certain websites cannot be accessed by Chrome and IE on WinXP due to incompatibility. However, Firefox apparently still does support Windows XP and can access those websites freely.

Chrome 和 IE 使用 windows 的 CA 存储,而 Firefox 使用它自己的独立存储。

Why can't a simple community developer just create a "patch" for Chrome and IE if Firefox can support them?

可能有些开发人员可以做到这一点,但为什么有人要花时间支持一个已经死掉且不安全的 OS 只是为了支持不再受支持的浏览器 (Chrome将在 2015 年底停止支持)。如果您觉得无论如何都需要这样做,那就去做吧。否则,放弃 XP 或至少使用 Firefox。

好的,看一下mpql.net的例子,我们从SSL Labs analysis开始。

问题似乎是服务器仅支持椭圆曲线加密(各种 TLS_ECDHE_xxx 套件),并且根据 MSDN 文章 Secure Sockets Layer Protocol and TLS Cipher Suites,Windows XP 不支持包括任何椭圆曲线协议。这与证书本身无关,而是与 Web 服务器的配置方式有关。

Firefox 仍然有效,因为它使用 its own cryptographic library 而不是 Windows 内置的 SSL 支持。当然,如果您使用的 Firefox 版本与 Windows XP 一样旧,它可能也无法工作。 :-)

XP 中此问题的解决方案是安装 KB3055973-v3,它添加了对 TLS 128 位和 256 位高级加密标准 (AES) 密码套件的支持。 Google 对于此解决方案,请注意它是英文 OS 版本的原生版本,否则您需要修改安装文件。