"SSL_connect возвращен = 1 errno = 0 state = SSLv3 считать сертификат сервера B: проверка сертификата не выполнена"

Я настраиваю Redmine для опроса электронной почты из gmail через IMAP. Попытка выполнить соответствующую задачу 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
[email protected]:~# ruby --version
ruby 1.9.3p429 (2013-05-15 revision 40747) [x86_64-linux]
[email protected]:~# rails --version
Rails 3.2.13

Ответ 1

Проблема решена путем простой установки корневых сертификатов:

apt-get install openssl ca-certificates