2013-06-04 103 views
3

我正在設置Redmine以通過IMAP從Gmail中查詢電子郵件。運行適當的紅寶石任務的嘗試導致以下錯誤:當紅寶石嘗試通過OpenSSL的連接imap.gmail.com,在下面的代碼行發生「SSL_connect返回= 1 errno = 0狀態= SSLv3讀取服務器證書B:證書驗證失敗」

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

錯誤:

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 
[email protected]:~# ruby --version 
ruby 1.9.3p429 (2013-05-15 revision 40747) [x86_64-linux] 
[email protected]:~# rails --version 
Rails 3.2.13 

回答

3

問題已通過簡單的安裝根證書解決:

apt-get install openssl ca-certificates 
+0

謝謝!這是我閱讀的許多第一個解決方案,並嘗試*實際*起作用! :) – wrdevos

+0

@Igor R.任何想法如何安裝在winxp上? – GuruM

+1

@GuruM我不知道。應該是這樣的 - 下載證書並雙擊它;)。 –

相關問題