我有一个HAProxy /隧道服务器,可为AWS上的站点处理SSL。在测试过程中,我在此服务器上创建了一个自签名证书,并使用Chrome从桌面上将其击中,以测试stunnel是否正常工作。

现在我已在该服务器上安装了合法证书。当我在Chrome中从计算机上访问该网站时,它抛出以下错误:


错误113
(net :: ERR_SSL_VERSION_OR_CIPHER_MISMATCH):
未知错误。
/>

我的猜测是Chrome缓存了自签名证书的密钥,但它与合法证书的密钥不匹配。该网站可以在我的计算机上的所有其他浏览器上运行,因此这只是一个Chrome问题。因此,这显然是某种缓存内容。

我做了所有我能想到的事情(转储了缓存,从“管理证书”对话框的“个人和其他人”页面中删除了证书,Ctrl + F5等)。

我的机器是Windows 7 x64。 Chrome版本:12.0.742.91。

在Google Chrome帮助表单上,有一个听起来像是同一问题的描述;但是,找不到解决方法。


更新:今天看来它已经“修复”了。我讨厌这样的问题。我仍然不知道是什么原因造成的,或者它如何自行解决。大概是缓存的证书已过期或什么原因,但是我仍然很想知道此信息的存储位置以及如何对其进行验证。

评论

我从另一个用户那里听说:此问题是由于我的计算机上的过时的Avast Antivirus引起的。 Avast使用SHA1证书在浏览器和Web之间创建一个层。如果您暂时停用avast,Chrome将能够访问服务器提供的证书。就我而言,一个简单的Avast程序更新解决了该问题。

我的计算机上不是这种情况,因为我没有安装防病毒软件。

由于问题已锁定,我无法添加答案,但是在Windows中,您必须1)转到设置=>管理证书=>删除证书,然后2)关闭Chrome,然后3)转到任务管理器并手动杀死所有的Chrome.exe进程。再次打开Chrome时,您应该一切顺利。

@jakejgordon-我无法在“管理证书”窗口中看到该证书,但是杀死Chrome.exe并重新打开Chrome可以解决我的问题。请注意,我也正在运行一个Web筛选器/监视代理,但是不需要停止它。

当没有有效或有效的答案时,为什么这个问题受到“保护”? @ Michael-Hampon?

#1 楼

Chrome将每个主机的SSL证书状态存储在浏览器历史记录中。

因此只需清除浏览器历史记录(Ctrl + Shift + Del),至少要包括以下部分:


缓存的图像和文件
托管的应用程序数据
内容许可证
Cookie和其他站点数据,适用于Chrome版本64

解决方案2。如果上述方法无效,试试这个:


关闭Chrome,杀死所有chrome后台进程
删除目录:%USERPROFILE%/AppData/Local/Google/Chrome/User Data/CertificateTransparency



评论


我的问题现在很古老,因此chrome可能已经改变了这种行为,但是对我来说清除缓存并不起作用(正如我在问题中所指出的)。如果现在可行,那就太好了。

–伏瓦那地
2015年5月5日22:50

这对我不起作用

–塞尔吉·萨根(Serj Sagan)
15年8月11日在9:38

这对我有用,我的特定问题是Chrome表示证书已过期,但是由于其他人可以通过https访问该网站,因此我可以看到确实有新证书可用,但是由于某些原因Chrome并没有要求它,或者可能正确阅读。

–shaheenery
2015年10月5日在21:18



FIDDLER用户:如果您将Fiddler与HTTPS拦截一起使用,则Fiddler将缓存SSL证书。要解决此问题,您需要运行提琴手的“删除拦截证书”选项,清除浏览器的缓存(无需清除其他任何内容,然后重新启动浏览器。根据所使用的浏览器,可能不需要最后两个步骤,但Chrome需要这些

– NickG
17年7月6日在15:14



不幸的是,我搜索了整个互联网,但没有得到有效的解决方案。但终于自己尝试了一下。关闭Chrome,然后删除“ C:/ Users / <您的用户名> / AppData / Local / Google / Chrome / User Data”下的目录“ CertificateTransparency”,然后重新启动,然后您会发现提示再次出现。

–寿雅
17年7月7日在16:27

#2 楼

只需从缓存文件夹中删除文件即可解决SSL证书的许多问题。在Chrome或Chromium中,要删除的文件是cert9.db文件夹中的~/.pki/nssdb。 (在Firefox中,您要删除cert8.db。)

注意!删除这些文件后,您将需要在浏览器中重新注册CA。

这是针对linux系统的解决方案,针对Windows用户的步骤会有所不同。

评论


如果您可以详细说明或提供有关重新注册CA的链接,那将是很好的。

–麦克·舒尔茨(Mike Shultz)
17年5月6日在6:45

在此之后似乎退出并重新启动chrome可以正常工作

–伊恩·特顿(Ian Turton)
17-10-16在11:06

〜/ .pki文件夹对我来说不存在(在Mac上)-缺少有关重新注册CA的解释似乎是一个很大的疏忽。同样,“在Windows上,有所不同”并不是特别有帮助。如果您不知道如何为Windows修复它,只需说“这是一个* nix-only解决方案”

–dwanderson
18年6月27日在19:04

这对我有用,谢谢! Ubuntu 18.04 / Linux。

– dusoft
20-2-3在21:38

#3 楼

据我所知,证书不是特定于Google Chrome(至少在Windows上),而是特定于整个系统。您已经通过Chrome的界面删除了该证书,因此它应该消失了。

请确定,您可以尝试。


开始→运行→certmgr.msc


另一个尝试的工具是CCleaner。它应该有助于更好地清理Chrome的缓存。

评论


尝试了certmgr.msc,我在那没看到证书。就像您说的那样,由于其他浏览器做了正确的事,它显然已经不复存在,也许这只是某种形式的Chrome错误

–伏瓦那地
2011年6月13日18:36

所以...到目前为止,您还好运吗?您是否按照建议尝试过CCleaner? ..或其他工具?

– LazyOne
2011年6月14日9:00

我运行了CCCleaner,看了看它要删除的内容,无非就是Chrome删除的内容(只是cookie和会话信息)。

–伏瓦那地
2011年6月14日下午16:38

如果是这样,为什么隐身模式有效?

–约瑟·诺比尔
17年2月6日在5:38

#4 楼

对于Windows 10,有一种方法可以仅清除OCSP和CRL信息,而无需清除Chrome历史记录。 .net / blog / post /在Windows-7上查看清除和禁用OCSP和CRL缓存.aspx

运行建议的certutil -urlcache ocsp delete可能会导致FAILED: 0x80070020 (WIN32: 32 ERROR_SHARING_VIOLATION)如果Chrome正在运行。

评论


这是对我有用的解决方案,使我能够通过缓存的证书。

–黑色炸药
20 Nov 18 '19:47

#5 楼

我确认这在Windows 10上对我有用:


先决条件:验证(使用另一台没有您站点“知识”的计算机)您的服务器将新证书提供给全新至少是计算机。
清除Chrome的缓存。我选择清除使用CTRL + SHIFT + DEL时显示的所有三个选项:历史记录,Cookie和缓存。但是,您可能可以保留历史记录。

关闭chrome,然后使用“任务管理器”确认没有chrome.exe正在运行。我认为chrome将证书缓存在内存中。

重新打开chrome并访问该站点。您的Chrome浏览器现在应该提取最新的证书,而不要使用缓存的证书。


评论


清除整个历史记录似乎过于强大,无法删除单个站点的OCSP-info。真的没有其他选择吗?

–贾里(Jari Turkia)
20-2-19在12:29

@JariTurkia,我敢打赌,您实际上可以保留您的历史记录。我已经更新我的答案以建议这个。对于希望保留所有缓存的站点数据的用户,您的答案可能仍然有用。

–克里斯
20-2-19在16:16

#6 楼

更准确的方法:

“高级”>“清除浏览数据”)

[时间范围:所有时间]


打包的图像和文件

按:清除数据

评论


OP已经说过他清除了自己的缓存,因此对于这个已有7年历史的问题,此答案将对操作没有帮助。

–丹尼斯·诺尔特
18-09-24在9:59