5

在 Mac OSX 10.7.5 上使用 Homebrew

$ brew install openssl
错误:openssl-1.0.1e 已安装

$ rake test.rake
耙中止!
SSL_connect 返回=1 errno=0 state=SSLv3 读取服务器证书B:证书验证失败

我承认还有其他问题,例如标题中的问题,但似乎没有一个解决方案有效。我在各个方面都尝试过,但没有成功:

rvm pkg 安装 openssl
rvm 重新安装 1.9.3 --with-openssl-dir=$rvm_path/usr
rvm 删除 1.9.3
冲泡安装openssl
rvm install 1.9.3 --with-openssl-dir=`brew --prefix openssl`

我决定检查 openssl 版本并注意到这一点:

$ openssl 版本
OpenSSL 0.9.8r 2011 年 2 月 8 日

希望这确实是问题所在,并且修复就像确保我的笔记本电脑检测到正确的 OpenSSL 一样简单。

但是我该如何解决这个问题,所以我让它使用 Homebrew 更新的 OpenSSL 呢?

提前致谢。

4

4 回答 4

15

它使用 rvm 对我有用

$ rvm osx-ssl-certs status all
$ rvm osx-ssl-certs update all
于 2013-09-18T10:55:57.887 回答
3

基于 mpapis 的回答,我执行了这些命令为我解决了问题。

$ cd ~
$ rvm get head
$ rvm requirements

这给了我两个关键的反馈:

Upgrade of RVM in /Users/myuser/.rvm/ is complete.
RVM Reloaded!

Installing requirements for osx, might require sudo password.
Updating certificates in '/usr/local/etc/openssl/cert.pem'.

之后,我不再收到错误消息。

于 2013-05-15T14:12:53.923 回答
1

您需要更新证书:

sudo curl http://curl.haxx.se/ca/cacert.pem -o "$(ruby -ropenssl -e "p OpenSSL::X509::DEFAULT_CERT_FILE")"

尽管这被认为是不安全的,因为证书是在没有下载的情况下下载的,https并且无法判断它们是否在途中没有更改。

RVM 已更新代码,将使用 OSX 证书更新文件并自动提取依赖项,您可以通过以下方式获取它:

rvm get head
rvm install 1.9.3
于 2013-02-26T06:25:42.183 回答
0

在我运行 10.8.3 的 Mac 上,我也遇到了这个问题,但是我对上述解决方案有疑问,因为当我尝试执行 rvm get head install 1.9.3

或者

rvm requirements 

我在运行“requirements_osx_brew_libs_install...”时遇到错误,这本身就是一场噩梦,请参阅Mac 10.7 上运行“requirements_osx_brew_libs_install...”的错误以获取证明

无论如何,我做到了

wget http://curl.haxx.se/ca/cacert.pem > 
mv cacert.pem /Users/USER/.rvm/usr/ssl/cert.pem
于 2013-05-16T04:25:31.417 回答