Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 Ruby-jiraSOAP-关闭OpenSSL证书验证_Ruby On Rails 3_Ssl_Jira - Fatal编程技术网

Ruby on rails 3 Ruby-jiraSOAP-关闭OpenSSL证书验证

Ruby on rails 3 Ruby-jiraSOAP-关闭OpenSSL证书验证,ruby-on-rails-3,ssl,jira,Ruby On Rails 3,Ssl,Jira,如何在jiraSOAP这样的gem中关闭证书验证。验证是内置的,但我真的不需要验证,因为服务器和客户端是我的属性。调整gem以停止这种验证应该是可行的 此证书验证错误阻止我继续我的项目。我尝试过论坛上的其他解决方案,升级我的/etc/ssl/cert,将OpenSSL::ssl::VERIFY\u PEER=OpenSSL::ssl::VERIFY\u NONE添加到我的项目中。但没有一个成功 require 'jiraSOAP' jira = JIRA::JIRAService.new "h

如何在jiraSOAP这样的gem中关闭证书验证。验证是内置的,但我真的不需要验证,因为服务器和客户端是我的属性。调整gem以停止这种验证应该是可行的

此证书验证错误阻止我继续我的项目。我尝试过论坛上的其他解决方案,升级我的
/etc/ssl/cert
,将
OpenSSL::ssl::VERIFY\u PEER=OpenSSL::ssl::VERIFY\u 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)

我可以通过修改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

“我真的不需要验证,因为服务器和客户端是我的财产”。证书验证(以及主机名验证)用于确保您的客户机确实在与预期的服务器通信。它们是您的财产这一事实无关紧要:您仍然希望确保您确实在与服务器通信。同样,不要忽略证书验证。这就是保证你在和你想要的主人说话的原因。你可能是在和一个主持人交谈,假装不是这样。