为什么一台计算机上的 Chrome 说我的证书无效/不安全?

为什么一台计算机上的 Chrome 说我的证书无效/不安全?

我有一份来自 StartSSL 的用于网站的通配符域名证书 (https://later.webblocks.nl/)。

当我在家用电脑上的任何浏览器中检查它时,一切都很好。(Chrome 中的绿色锁。)当我在工作电脑上的 Chrome 中检查它时,情况就不好了:

Chrome 上 later.webblocks.nl SSL 错误

页面加载没有问题。没有其他请求,所以没有通过 HTTP。它使用安全协议等。我检查了连接SSL 实验室全球标志并且他们都认为这是非常安全的。

在同一台电脑上,其他浏览器都可以正常使用。在其他电脑上,Chrome 也可以正常使用。我尝试过重启、刷新缓存、隐身模式等。但没有任何变化。

对我来说这不是什么大问题,因为我知道它是安全的,但它仍然很烦人。

有任何想法吗?

附言:Chrome 不久前在 Windows XP 上也做过类似的事情:网站突然变得“不安全”,因为 Windows 协议不安全。两台 PC 都是 Windows 7,并且安装了相同版本的 Chrome,所以可能不是这样...

更多信息:

由于某种原因,两台计算机的证书链不同。域证书和根证书相同,但中间证书不同。在我家的 PC 上它使用 sha2,在我工作 PC 上它使用 sha1。中间证书包含在服务器证书(具有 sha2)中,所以这很奇怪。所有 SSL 检查器都只检测 sha2 中间证书。发生了什么事!?

答案1

StartCOM 的论坛上解释了原因:

https://forum.startcom.org/viewtopic.php?f=15&t=15929&p=21716

Chrome 上也有:

https://code.google.com/p/chromium/issues/detail?id=473105

它确实是SHA1。

这是由于 Windows 或 Chrome 的证书缓存造成的。由于它们(旧的和新的中间证书)具有相同的名称,因此客户端将使用缓存的变体,该变体可能是旧的和 SHA1。命名是 StartCOM 的错。糟糕的缓存是 Windows 或 Chrome 的错。他们并没有努力修复它。

SSL 检查器不会遇到同样的问题,因为它们不使用缓存任何事物

不同的计算机有不同的结果,因为缓存是本地的。

StartCom 论坛上的(非常具体、本地的)解决方案对我来说很管用:从本地缓存中清除证书,以触发重新下载新证书,但对于所有其他用户来说,这实际上并不是一个解决方案。(在我的情况下只有少数用户,所以没问题。)

答案2

我认为这可能与SHA-1 弃用。今年早些时候,谷歌对其 Chrome 41 浏览器进行了更改。据此,“终端实体证书在 2017 年 1 月 1 日或之后到期的网站,以及包含基于 SHA1 的签名作为证书链的一部分,将被视为“绝对不安全”。使用 SHA1 的受信任根证书不受影响。客户端出于身份目的信任它们,而不是因为其签名算法的强度。这是上述链接的直接引用。

我检查了您的证书 - 证书将于 2017 年 1 月后过期,尽管您域名的证书是使用 SHA-2 签名的,但您使用的“StartCom Class 2 Primary Intermediate Server CA”中间链证书使用的是 SHA-1 签名算法。中间证书也将在 2017 年 1 月后过期。

答案3

相关内容