Ruby - jiraSOAP - 关闭OpenSSL证书验证

时间:2012-05-24 15:52:23

标签: ruby-on-rails-3 ssl jira

如何在像jiraSOAP这样的gem中关闭证书验证。验证是内置的,但我真的不需要验证,因为服务器&客户是我的财产。应该可以调整gem以停止此验证。

https://github.com/Marketcircle/jiraSOAP/blob/master/lib/jiraSOAP.rb

此证书验证错误阻止我继续我的项目。我尝试过论坛的其他解决方案,升级/etc/ssl/cert,将OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE添加到我的项目中。但它们都没有奏效。

require 'jiraSOAP'
jira = JIRA::JIRAService.new "https://server/rpc/soap/jirasoapservice-v2?wsdl"
jira.login username, password


/usr/local/rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/net/http.rb:799:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError)

1 个答案:

答案 0 :(得分:0)

我能够解决它修改Handsoap gem而忽略我的主机的cert check。

要在gems路径中修改的文件 -

      handsoap-1.1.8/lib/handsoap/http/drivers/net_http_driver.rb

在这个新的http客户端后修改 -

      http_client = Net::HTTP.new(url.host, url.port)

添加此内容 -

      #Added these new lines below 
      if url.host == "server" #ignore cert check only for this host
      http_client.verify_mode = OpenSSL::SSL::VERIFY_NONE 
      end