我曾经收到以下错误:
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一起使用的解决方案.
解决方法
openssl库使用SSL_CERT_FILE环境变量.