ruby - "SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed"

标签 ruby openssl certificate debian redmine

<分区>

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

SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

当 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

最佳答案

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

apt-get install openssl ca-certificates

关于ruby - "SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16913828/

相关文章:

ssl - 受信任的 CA - 是如何工作的?

iphone - 无法访问developer.apple.com 中的证书、标识符和配置文件

ruby - 无法在 60 秒内获得稳定的 Firefox 连接 (127.0.0.1 :7055)

openssl - 从公钥文本生成 PEM 或 CER 文件

ruby-on-rails - rails : Order array by number of child objects

java - 提取公钥

ssl - .keystore 文件的问题

java - getLocalCertificates() 返回 null

ruby - 了解 `load` 、 `require` 和 `require_relative` 之间的区别

ruby-on-rails - 自制软件、FreeTDS、tiny_tds。 FreeTDS安装成功后为什么安装不了tiny_tds?