Ruby Gem Twitter - certificate verification failed (Twitter :: Error :: ClientError)

I am trying to use the "rubter" ruby ​​gem, but for unknown reasons I cannot get it to work.

Here is the .rb code:

require 'twitter' puts "Greetings, World!" puts "Checkpoint 1" Twitter.configure do |config| config.consumer_key = "xxxxxxx" #removed for posting config.consumer_secret = "xxxxxxx" #removed for posting config.oauth_token = "xxxxxxx" #removed for posting config.oauth_token_secret = "xxxxxxx" #removed for posting end Twitter.verify_credentials puts "Checkpoint 2" 

and I get the following error:

 Greetings, World! Checkpoint 1 C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:918:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (Twitter::Error::ClientError) from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:918:in `block in connect' from C:/Ruby200-x64/lib/ruby/2.0.0/timeout.rb:66:in `timeout' from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:918:in `connect' from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:862:in `do_start' from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:851:in `start' from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:1367:in `request' from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:1126:in `get' from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/adapter/net_http.rb:73:in `perform_request' from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/adapter/net_http.rb:38:in `call' from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/response.rb:8:in `call' from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/response.rb:8:in `call' from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/response.rb:8:in `call' from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/request/url_encoded.rb:14:in `call' from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/request/multipart.rb:13:in `call' from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/twitter-4.8.0/lib/twitter/request/multipart_with_file.rb:14:in `call' from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/connection.rb:247:in `run_request' from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/connection.rb:100:in `get' from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/twitter-4.8.0/lib/twitter/client.rb:108:in `request' from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/twitter-4.8.0/lib/twitter/client.rb:66:in `get' from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/twitter-4.8.0/lib/twitter/api/utils.rb:82:in `object_from_response' from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/twitter-4.8.0/lib/twitter/api/users.rb:50:in `verify_credentials' from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/twitter-4.8.0/lib/twitter.rb:60:in `method_missing' from C:/Ruby200-x64/AppCode/twitter_connect.rb:13:in `<main>' 

I am new to ruby ​​and I can’t understand the client’s mistake ... maybe I am missing something. I also confirmed that my Oauth credentials work in python.

Thanks in advance, and I look forward to your help.

+6
source share
2 answers

I was able to solve my own question. For those who have the same problem, try using the following:

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

Disables SSL protection, but allows processing through troubleshooting. The main problem is outdated SSL.

+9
source

I'm also very new to ruby, but are you using a Mac? This may be due to outdated SSL certificate files. Here is a link to instructions that solved the problem for me. http://railsapps.imtqy.com/openssl-certificate-verify-failed.html

+1
source

Source: https://habr.com/ru/post/947168/


All Articles