Ruby Enterprise Edition + OpenSSL -> «сбой проверки сертификата» - PullRequest
3 голосов
/ 20 мая 2011

У меня небольшой кошмар, когда я пытаюсь заставить REE хорошо играть с SSL.

При каждом подключении к сайту SSL:

require 'open-uri'
open 'https://www.google.com'

Я получаю следующую ошибку:

/Users/jon/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/net/http.rb:586:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError)
from /Users/jon/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/net/http.rb:586:in `connect'
from /Users/jon/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/net/http.rb:553:in `do_start'
from /Users/jon/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/net/http.rb:542:in `start'
from /Users/jon/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/open-uri.rb:242:in `open_http'
from /Users/jon/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/open-uri.rb:616:in `buffer_open'
from /Users/jon/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/open-uri.rb:164:in `open_loop'
from /Users/jon/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/open-uri.rb:162:in `catch'
from /Users/jon/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/open-uri.rb:162:in `open_loop'
from /Users/jon/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/open-uri.rb:132:in `open_uri'
from /Users/jon/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/open-uri.rb:518:in `open'
from /Users/jon/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/open-uri.rb:30:in `open'

Отлично работает под Ruby 1.9.2 или с обычной 1.8.7.Я попытался переупаковать OpenSSL и установить ree для связи с этим, как упоминалось на странице RVM OpenSSL , но это не имело никакого эффекта.Я нахожусь на OS X 10.6.7, но я вижу ту же проблему с нашей установкой OpenSolaris REE.

Любые предложения будут высоко оценены.

1 Ответ

3 голосов
/ 24 мая 2011

Звучит так, как будто неправильно выбирает местоположение сертификатов доверенного ЦС - REE должен иметь другое скомпилированное местоположение по умолчанию, что неверно для вашей системы.


ДляПотомство:

Проблема ОП была решена путем загрузки http://curl.haxx.se/ca/cacert.pem и копирования ее в /opt/local/etc/openssl/cert.pem.

...