3

我正在设置 Redmine 通过 IMAP 轮询来自 gmail 的电子邮件。尝试运行适当的 Ruby 任务会导致以下错误:

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

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

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
4

1 回答 1

4

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

apt-get install openssl ca-certificates
于 2013-06-04T09:26:25.617 回答