2012-03-05 9 views
6

Solía ​​recibir el siguiente error:¿Quién lee el valor de 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' 

después de leer a través this, descubrí que la solución es descargar el archivo desde cacert.pem here. La publicación recomienda hacer algo como esto:

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

Y, de hecho, esto resuelve el problema. Sin embargo, ¿quién lee el valor de SSL_CERT_FILE? Alterar el entorno no parece ser "la forma Ruby" de hacerlo. Estoy buscando una solución que pueda funcionar tanto con Rails como con Sinatra.

Respuesta

9

La biblioteca openssl usa la variable de entorno SSL_CERT_FILE.

Cuestiones relacionadas