简体   繁体   English

使用Ruby Gem'cryptsy-api'时,OpenSSL :: SSL :: SSLError“证书验证失败”

[英]OpenSSL::SSL::SSLError “certificate verify failed” when using Ruby Gem 'cryptsy-api'

I'm trying to use the cryptsy-api gem, but seem to have some sort of SSL error. 我正在尝试使用cryptsy-api gem,但似乎存在某种SSL错误。 Here's the output in my irb session: 这是我的irb会话中的输出:

First I load the api: 首先,我加载api:

$ irb
2.1.2 :001 > require 'cryptsy/api'
 => true

Then I set the two variables needed to make a connection (using fake names for this example) 然后,我设置进行连接所需的两个变量(在此示例中使用假名称)

2.1.2 :002 > key = 'thisisasecretkeythisisasecretkeythisisa'
 => "thisisasecretkeythisisasecretkeythisisa"
2.1.2 :003 > secret = 'thisisasecretkeythisisasecretkeythisisasecretkeythisisasecretkeythisisasecretkey'
 => "thisisasecretkeythisisasecretkeythisisasecretkeythisisasecretkeythisisasecretkey"

Now I instantiate a new instance: 现在,我实例化一个新实例:

2.1.2 :004 > cryptsy = Cryptsy::API::Client.new(key, secret)
 => #<Cryptsy::API::Client:0x007fcf6b81aff0 @key="thisisasecretkeythisisasecretkeythisisa",     @secret="thisisasecretkeythisisasecretkeythisisasecretkeythisisasecretkeythisisasecretkey", @private_caller=nil>

Here's where I get the error. 这是我得到错误的地方。 When I call a method on the instance, it throws this error: 当我在实例上调用方法时,它将引发此错误:

2.1.2 :005 > cryptsy.getinfo
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
  from /Users/caymanner/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:920:in `connect'
  from /Users/caymanner/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:920:in `block in connect'
  from /Users/caymanner/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/timeout.rb:76:in `timeout'
  from /Users/caymanner/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:920:in `connect'
  from /Users/caymanner/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:863:in `do_start'
  from /Users/caymanner/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:852:in `start'
  from /Users/caymanner/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:1369:in `request'
  from /Users/caymanner/.rvm/gems/ruby-2.1.2/gems/httparty-0.13.1/lib/httparty/request.rb:93:in `perform'
  from /Users/caymanner/.rvm/gems/ruby-2.1.2/gems/httparty-0.13.1/lib/httparty.rb:521:in `perform_request'
  from /Users/caymanner/.rvm/gems/ruby-2.1.2/gems/httparty-0.13.1/lib/httparty.rb:473:in `post'
  from /Users/caymanner/.rvm/gems/ruby-2.1.2/gems/cryptsy-api-0.1.4/lib/cryptsy/api.rb:36:in `execute_method'
  from /Users/caymanner/.rvm/gems/ruby-2.1.2/gems/cryptsy-api-0.1.4/lib/cryptsy/api.rb:204:in `call_private_api'
  from /Users/caymanner/.rvm/gems/ruby-2.1.2/gems/cryptsy-api-0.1.4/lib/cryptsy/api.rb:82:in `getinfo'
  from (irb):5
  from /Users/caymanner/.rvm/rubies/ruby-2.1.2/bin/irb:11:in `<main>'
2.1.2 :006 >

Any ideas why this happens? 任何想法为什么会发生这种情况? Am I forgetting to load some other gem? 我是否忘记加载其他宝石?

Was at http://CascadiaRuby.com conference and talked with @thagomizer_rb who had been bitten by a bug like this a half dozen times. http://CascadiaRuby.com会议上,与@thagomizer_rb进行了交谈,后者被这样的错误咬伤了六次。 Apparently the OpenSSL libraries that ship with a Mac are out of date. 显然,Mac随附的OpenSSL库已过时。

The fix was to install a more recent version of OpenSSL. 解决方法是安装更新版本的OpenSSL。 My solution was to use brew: 我的解决方案是使用brew:

$ brew update && brew install openssl $ brew更新&& brew安装openssl

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 证书续订后,Ruby Net :: HTTP响应OpenSSL :: SSL :: SSLError“证书验证失败” - Ruby Net::HTTP responds with OpenSSL::SSL::SSLError “certificate verify failed” after certificate renewal Ruby Imap OpenSSL::SSL::SSLError:读取服务器证书 B:证书验证失败 - Ruby Imap OpenSSL::SSL::SSLError: read server certificate B: certificate verify failed 在 JRuby 中出现错误:“OpenSSL::SSL::SSLError:证书验证失败” - Getting error: “OpenSSL::SSL::SSLError: certificate verify failed” in JRuby 使用Mechanize对象获取`证书验证失败(OpenSSL :: SSL :: SSLError)`错误 - Getting the `certificate verify failed (OpenSSL::SSL::SSLError)` erro with Mechanize object 使用 Ruby 1.9.3 时出现“证书验证失败”OpenSSL 错误 - "Certificate verify failed" OpenSSL error when using Ruby 1.9.3 无法绕过OpenSSL验证 - 证书验证失败(OpenSSL :: SSL :: SSLError) - Can't bypass OpenSSL verification - certificate verify failed (OpenSSL::SSL::SSLError) Bundler:读取服务器证书B:证书验证失败(OpenSSL :: SSL :: SSLError) - Bundler: read server certificate B: certificate verify failed (OpenSSL ::SSL::SSLError) OpenSSL :: SSL :: SSLError:SSL_connect返回= 1 errno = 0状态= SSLv3读取服务器证书B:证书验证失败-向外部API耙任务 - OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed - rake task to external API OpenSSL :: SSL :: SSLError:主机名“ freegeoip.io”与ruby geocoder gem中的服务器证书不匹配 - OpenSSL::SSL::SSLError: hostname “freegeoip.io” does not match the server certificate in ruby geocoder gem 为什么我不能与厨师一起安装一个无所事事的环境? 证书验证失败(OpenSSL :: SSL :: SSLError) - Why can't I install a vagrant environment with chef? certificate verify failed (OpenSSL::SSL::SSLError)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM