“SSL_connect返回= 1 errno = 0状态= SSLv3读取服务器证书B:证书验证失败”

时间:2013-06-04 09:08:28

标签: ruby openssl certificate debian redmine

我正在设置Redmine来通过IMAP从gmail中查询电子邮件。尝试运行相应的Ruby任务会导致以下错误:

  

SSL_connect返回= 1 errno = 0状态= SSLv3读取服务器证书B:证书验证失败

当Ruby尝试通过OpenSSL连接imap.gmail.com时出现错误,在以下代码行中:

imap = Net::IMAP.new(host, port, ssl)

当我尝试从OpenSSL命令行连接上述主机时,它已成功连接。

我知道Ruby没有找到一些证书,我看到了各种解决方案提案,但不幸的是我仍然无法弄清楚如何解决这个问题(我不使用rvm)。

我尝试通过设置OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE来禁用验证,但是出现了“动态常量分配”错误。

我的环境:

Linux debianvm 3.2.0-4-amd64 #1 SMP Debian 3.2.41-2+deb7u2 x86_64 GNU/Linux
root@debianvm:~# ruby --version
ruby 1.9.3p429 (2013-05-15 revision 40747) [x86_64-linux]
root@debianvm:~# rails --version
Rails 3.2.13

1 个答案:

答案 0 :(得分:3)

只需安装根证书即可解决问题:

apt-get install openssl ca-certificates