这次与优胜美地再次抬起了丑陋的头。它还影响了我常用的所有浏览器(Firefox,Chrome,Chrome Canary)。
我尝试按照此处的建议进行操作,其中涉及通过Web浏览器获取有关有问题的网站所使用的根证书的信息: 如何解决:Safari无法打开页面,因为Safari无法建立安全连接
我在这里没有爱,因为每个浏览器都拒绝协商足够远的连接以获取证书颁发者的名称。我什至尝试在命令行上使用open_ssl,但也失败了:
[foo@bar]$ echo ^d | openssl s_client -connect broken.web.com:443 | tee cert.log
6480:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:/SourceCache/OpenSSL098/OpenSSL098-52.40.1/src/ssl/s23_lib.c:185:
CONNECTED(00000003)
最后,我能够在具有Internet Explorer版本9的旧计算机上打开网站,并找到了证书颁发机构的名称:Comodo证书颁发机构。
链接的文章暗示了正确的做法,但这对我有用:
- 打开钥匙串访问应用程序。
- 选择“系统根”钥匙串。
- 搜索颁发证书颁发机构(在本例中为Comodo)。
- 查看证书详细信息(双击,展开查看窗口的“信任”区域)。
- 就我而言,信任规则是:“使用此证书时”。
- 我将其更改为“始终信任”,关闭了“钥匙串访问”(输入管理员密码后),并加载了页面。
- 不想让它处于不太安全的模式,我再次使用了钥匙串访问,并将其切换回“使用系统默认值”。
- 问题解决了,安全参数没有放宽。
YMMV,但是它并不像通过尝试解决此问题的某些链接所建议的那样,通过消除安全性首选项,取消所有Safari数据甚至取消重新安装整个操作系统来取消所有调整。
更新:我必须重新启动Chrome / Firefox,他们才能接受“更新” /重置证书首选项。
另一个可能的原因:公司代理或MITM
就在最近,还有一些此类应用,以及某些应用无法通过网络连接到其服务器。
- 症状:笔记本电脑或iPhone有时无法保护连接。上面的方法不起作用。
- 测试:使用蜂窝连接或移动热点而不是可疑的WiFi或有线网络运行iPhone或笔记本电脑。
- 结果:如果蜂窝连接有效而非蜂窝无效,则怀疑是中间人(MITM)攻击或类似的公司代理。