【发布时间】:2016-01-11 11:15:56
【问题描述】:
我正在使用 OpenUri 从 HTTPS 服务器读取 JSON 文件。几天前它工作正常,但今天早上我得到了:
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=error: certificate verify failed
The server presented a certificate that could not be verified:
error code 20: unable to get local issuer certificate
我认为服务器刚刚更新了它的 SSL 证书,所以我想知道这是否相关?否则我的系统是否丢失了根证书?
我正在运行 Mac OS 10.11.2、Ruby 2.3.0 和 OpenSSL 1.0.2e,与 Homebrew 一起安装,我使用 RVM。
【问题讨论】:
-
如果服务器发生变化,要么是您没有所需的新根 CA,要么是服务器未能提供完整的证书链。也可能是您有一个新的 OpenSSL,但该 ruby 与 Mac 的旧版本(即 0.9.8)相关联。细节太少,无法在这里为您提供更多帮助,但如果服务器是公开的,您可以将 URL 添加到您的问题中,以便查看。
-
感谢@SteffenUllrich 我已经不得不重建 ruby 以链接到新的 OpenSLL。如果您想了解更多,服务器是 kimonolabs.com。
标签: ruby ssl homebrew open-uri