0

如何在 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)
4

1 回答 1

0

我能够通过修改 Handsoap gem 来解决它,只为我的主机忽略证书检查。

要在 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
于 2012-05-25T01:46:21.410 回答