简体   繁体   English

使用Evernote API时发生Ruby SSL错误(Mac,El Capitan)

[英]Ruby SSL Error working with Evernote API (Mac, El Capitan)

Trying to get the basic ruby Evernote client app working. 尝试使基本的红宝石Evernote客户端应用程序正常工作。

I got my developer token and followed the readme in the sample app. 我获得了开发人员令牌 ,并在示例应用程序中遵循了自述文件。

  1. Open sample/client/EDAMTest.rb 打开样本/客户端/EDAMTest.rb
  2. Scroll down and fill in your Evernote developer token. 向下滚动并填写您的Evernote开发人员令牌。
  3. On the command line, run the following command to execute the script: 在命令行上,运行以下命令以执行脚本:

    ruby EDAMTest.rb

Simple. 简单。 But I'm getting this SSL Error. 但是我收到了这个SSL错误。

/Users/james/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/net/http.rb:923:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError) /Users/james/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/net/http.rb:923:在'connect'中:SSL_connect返回= 1 errno = 0状态= SSLv3读取服务器证书B:证书验证失败(OpenSSL :: SSL :: SSLError)

Tried a few things with brew and rvm. 用brew和rvm尝试了一些东西。

$ rvm osx-ssl-certs status all                
> Certificates for /usr/local/etc/openssl/cert.pem: Up to date.
> Certificates for /etc/openssl/cert.pem: Up to date.

Full trace. 完整跟踪。

/Users/james/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/net/http.rb:923:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError)
  from /Users/james/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/net/http.rb:923:in `block in connect'
  from /Users/james/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/timeout.rb:73:in `timeout'
  from /Users/james/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/net/http.rb:923:in `connect'
  from /Users/james/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/net/http.rb:863:in `do_start'
  from /Users/james/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/net/http.rb:852:in `start'
  from /Users/james/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/net/http.rb:1375:in `request'
  from /Users/james/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/net/http.rb:1398:in `send_entity'
  from /Users/james/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/net/http.rb:1186:in `post'
  from /Users/james/.rvm/gems/ruby-2.2.3/gems/evernote-thrift-1.25.1/lib/thrift/transport/http_client_transport.rb:58:in `flush'
  from /Users/james/.rvm/gems/ruby-2.2.3/gems/evernote-thrift-1.25.1/lib/thrift/client.rb:41:in `send_message'
  from /Users/james/.rvm/gems/ruby-2.2.3/gems/evernote-thrift-1.25.1/lib/Evernote/EDAM/user_store.rb:23:in `send_checkVersion'
  from /Users/james/.rvm/gems/ruby-2.2.3/gems/evernote-thrift-1.25.1/lib/Evernote/EDAM/user_store.rb:18:in `checkVersion'
  from sample/client/EDAMTest.rb:39:in `<main>'

I ended up patching it by turning off verification. 我最终通过关闭验证对其进行了修补。

OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

Still open to any better ideas. 仍然欢迎任何更好的主意。

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM