Val*_*ant 6 ssl google-chrome ssl-certificate x509certificate
我正在寻求帮助,试图通过弄清楚为什么Chrome
46.0.2490.80不允许我访问https://www.evernote.com而 Firefox 工作正常来满足我的好奇心。Chrome 也工作正常,直到 2 天前,但现在它抛出 NET::ERR_CERT_REVOKED 错误。
所以我很好奇 - 证书真的被撤销了吗?好吧,让我们检查一下...
我打开证书对话框并导出证书(evernote.pem),它是颁发者链(evernote-chain.pem):
从证书中获取 OCSP Responder URI:
$ openssl x509 -noout -ocsp_uri -in evernote.pem
http://ss.symcd.com
Run Code Online (Sandbox Code Playgroud)
现在让我们检查证书状态:
$ openssl ocsp -no_nonce -issuer evernote-chain.pem -CAfile evernote-chain.pem -cert evernote.pem -url http://ss.symcd.com
Response verify OK
evernote.pem: good
This Update: Dec 16 09:14:05 2015 GMT
Next Update: Dec 23 09:14:05 2015 GMT
Run Code Online (Sandbox Code Playgroud)
因此,证书不会被撤销,这就是 Firefox 正常工作的原因。那么 Chrome 发生了什么?为什么会认为这个证书被吊销了?
我确实注意到了另一个细节,这可能重要也可能不重要——我真的不明白。Chrome 中的证书链与从 Firefox 或 openssl 获得的链不同。Chrome 看到以下链:
|- Class 3 Public Primary Certification Authority (Builtin Object Token, self-signed)
|---- VeriSign Class 3 Public Primary Certification Authority - G5 (35:97:31:87:F3:87:3A:07:32:7E:CE:58:0C:9B:7E:DA)
|------- Symantec Class 3 Secure Server CA - G4
|---------- www.evernote.com
Run Code Online (Sandbox Code Playgroud)
Firefox 和 openssl 看到的是这个:
|- VeriSign Class 3 Public Primary Certification Authority - G5 (18:DA:D1:9E:26:7D:E8:BB:4A:21:58:CD:CC:6B:3B:4A, self-signed)
|---- Symantec Class 3 Secure Server CA - G4
|------- www.evernote.com
Run Code Online (Sandbox Code Playgroud)
我不知道如何解释这一点。似乎 VeriSign Class 3 Public Primary CA在 Chrome 中几乎相同,除了不是自签名之外,它被替换为看起来完全相似的东西,但由 Chrome 中的另一个“内置对象令牌”签名......什么这个意思?它可能与我遇到的问题有关吗?
更新:
问题的第一部分已在下面回答。该网站最近停止工作的原因是 b/c Google 决定不信任“ Class 3 Public Primary CA
”根证书,如下所述:https :
//googleonlinesecurity.blogspot.ca/2015/12/proactive-measures-in-digital.html
在这里:https : //code.google.com/p/chromium/issues/detail?id=570892
由于现在决定被撤销,问题可以通过在 chrome://components/ 中获取最新的 CRLSet 来解决
但是,问题的第二部分仍然存在:
Chrome 从哪里获取它的证书链?
Firefox、openssl 和https://www.digicert.com/help/都显示相同的链:
VeriSign 3 类公共主要证书颁发机构 - G5 18:DA:D1:9E:26:7D:E8:BB:4A:21:58:CD:CC:6B:3B:4A 赛门铁克 3 类安全服务器 CA - G4 51:3F:B9:74:38:70:B7:34:40:41:8D:30:93:06:99:FF www.evernote.com 18:A9:E9:D2:F7:F4:D9:A1:40:23:36:D0:F0:6F:DC:91
然而 Chrome 正在使用:
Class 3 Public Primary Certification Authority
70:BA:E4:1D:10:D9:29:34:B6:38:CA:7B:03:CC:BA:BF
- This is the no longer trusted Root CA
VeriSign Class 3 Public Primary Certification Authority - G5
35:97:31:87:F3:87:3A:07:32:7E:CE:58:0C:9B:7E:DA <- WTF?!
Symantec Class 3 Secure Server CA - G4
51:3F:B9:74:38:70:B7:34:40:41:8D:30:93:06:99:FF
www.evernote.com
18:A9:E9:D2:F7:F4:D9:A1:40:23:36:D0:F0:6F:DC:91
Run Code Online (Sandbox Code Playgroud)
我能想到的唯一解释是“ VeriSign Class 3 Public Primary Certification Authority - G5
”证书的“邪恶”版本已经在我的证书存储中的某个地方。它具有与“良好”版本完全相同的 CN 和“权威密钥标识符”,但它引用了 Chrome 不再信任的 CA。我已经通过直接比较 Chrome 和 Firefox 之间有问题的证书来验证这个假设。它们是相同的,并且必须使用相同的私钥生成(否则它们都不会正确验证赛门铁克证书上的签名),但一个是自签名的(好的),另一个不是(坏的) )。
那么这个证书存储/缓存在哪里,Chrome 使用的是哪个?它是内部的,还是在 Ubuntu 上是系统范围的?我很确定如果我要找到并清除此缓存,www.evernote.com 会在下一次 TLS 握手期间向我发送完整的证书链,并且一切都会好起来(这似乎支持我的理论:https:// security.stackexchange.com/questions/37409/certificate-chain-checking)。
但是如何在 Chrome 中清除所有缓存的证书?
不确定这一切意味着什么,但答案就在那里:
https://code.google.com/p/chromium/issues/detail?id=570892
和
https://googleonlinesecurity.blogspot.ca/2015/12/proactive-measures-in-digital.html
Google 吊销了 Google 产品的赛门铁克证书,但根据您所描述的问题类型(我也遇到过),他们已暂停吊销。引用 Chromium 票证:
首先,好消息是更改已暂时恢复,您应该会发现访问已恢复。您可以通过转到 chrome://components 并在 CRLSet 下单击“更新”来强制更新。您应该使用 2698 或更高版本来解决此问题。
归档时间: |
|
查看次数: |
78026 次 |
最近记录: |