我有一台 HAProxy / stunnel 服务器,用于处理 AWS 上我们网站的 SSL。在测试期间,我在此服务器上创建了一个自签名证书,并使用 Chrome 从我的桌面访问它,以测试 stunnel 是否正常工作。
现在我已经在该服务器上安装了合法证书。当我从我的计算机的 Chrome 中访问该网站时,它会抛出以下错误:
错误 113(net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH):未知错误。
我猜想 Chrome 缓存了自签名证书的密钥,但它与合法证书的密钥不匹配。此网站在我的计算机上的所有其他浏览器中都可以运行,所以这只是 Chrome 的问题。
一个有趣的注释:当从隐身会话( Ctrl++ )访问页面时,它可以正常工作。所以这显然是某种缓存问题。ShiftN
我做了所有能想到的事情(清除缓存、从管理证书对话框中的个人和其他人页面中删除证书,Ctrl+ F5,等等)。
我的机器是 Windows 7 x64。Chrome 版本:12.0.742.91。
在 Google Chrome 帮助表单上,有对看似相同的问题的描述;然而并未找到解决方案。
更新:今天它似乎已经“自行修复”了。我讨厌这样的问题。我仍然不知道是什么原因造成的,也不知道它是如何自行解决的。大概是缓存的证书过期了或者其他原因,但我仍然想知道这些信息存储在哪里以及如何验证它。
答案1
Chrome 在浏览器历史记录中存储每个主机的 SSL 证书状态。
因此只需清除浏览器历史记录(Ctrl
++ ),至少Shift
清除Del
以下部分:
- 缓存的图像和文件
- 托管应用数据
- 内容许可
- 适用于 Chrome 版本 64 的 Cookie 和其他网站数据
解决方案 2。如果以上方法无效,请尝试以下方法:
- 关闭 Chrome,终止所有
chrome
后台进程 - 删除目录:
%USERPROFILE%/AppData/Local/Google/Chrome/User Data/CertificateTransparency
答案2
答案3
只需从缓存文件夹中删除文件即可解决 SSL 证书的许多问题。
在 Chrome 或 Chromium 中,要删除的文件位于cert9.db
文件夹中~/.pki/nssdb
。(在 Firefox 中,您需要删除cert8.db
。)
注意力!删除这些文件后,您将需要在浏览器中重新注册 CA。
这是针对 Linux 系统的解决方案,Windows 用户的步骤会略有不同。
答案4
对于 Windows 10,有一种方法可以仅清除 OCSP 和 CRL 信息而不清除 Chrome 历史记录。
更多详细信息请参阅 Dimcev 先生的博客文章 http://www.carbonwind.net/blog/post/Viewing-clearing-and-disabling-the-OCSP-and-CRL-cache-on-Windows-7.aspx
如果 Chrome 正在运行,运行建议的命令certutil -urlcache ocsp delete
可能会导致。FAILED: 0x80070020 (WIN32: 32 ERROR_SHARING_VIOLATION)