2012-03-05 21 views
6

我曾經收到以下錯誤:誰讀取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' 

通過this看完之後,我發現,解決辦法是從here下載cacert.pem文件。該帖子建議做這樣的事情:

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

而且的確,這就解決了這個問題。但是,誰讀取SSL_CERT_FILE的值?改變環境看起來不像「做Ruby的方式」。我正在尋找可以與Rails和Sinatra兼容的解決方案。

回答

9

openssl庫使用SSL_CERT_FILE環境變量。