我尝试通过https连接访问open-uri文件。不幸的是,有些证书错误,我得到一个证书验证失败错误。我无法做任何事情,所以我必须绕过验证。如何在open-uri中绕过SSL证书验证?
我发现这个answer
我不想/不能改变在服务器上OEN-uri.rb,和我运行的Ruby 1.8.6。
如何更改验证模式?或者更确切地说我在哪里改变它?
我可以把这个放在哪里?
if target.class == URI::HTTPS
require 'net/https'
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
store = OpenSSL::X509::Store.new
store.set_default_paths
http.cert_store = store
end
还是肮脏的黑客:我可以把这个放在哪里?
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
如果出现'动态常量赋值'错误,请执行以下操作:OpenSSL :: SSL.const_set(:VERIFY_PEER,OpenSSL :: SSL :: VERIFY_NONE) – Sam 2014-02-04 18:58:17
并且为了避免出现警告:已经初始化常量OpenSSL :: SSL :: VERIFY_PEER`警告,使用`remove_const`首先删除该常量,然后重新添加。这很难输入到注释中,所以[请查看这个要点](https://gist.github.com/siruguri/66926b42a0c70ef7119e)。 – sameers 2015-04-14 18:50:05
如果您使用的是ruby 1.9.3p327 + – jvenezia 2015-04-27 13:46:19