2012-03-05 12 views
6

kiedyś pojawić się następujący błąd:Kto odczytuje wartość ENV ['SSL_CERT_FILE']?

OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed 
from C:/Ruby1.9.2/lib/ruby/1.9.1/net/http.rb:678:in `connect' 

po przeczytaniu przez this, odkryłem, że poprawka jest, aby pobrać plik cacert.pem z here. Post poleca zrobienie czegoś takiego:

ENV['SSL_CERT_FILE'] = File.join(File.dirname(__FILE__),"cacert.pem") 

I faktycznie to rozwiązuje problem. Jednak kto czyta wartość SSL_CERT_FILE? Zmiana środowiska nie wydaje się "rażącym sposobem" na zrobienie tego. Szukam rozwiązania, które może działać zarówno z Railsami, jak i Sinatra.

Odpowiedz

9

Biblioteka openssl używa zmiennej środowiskowej SSL_CERT_FILE.