SSL_connect SYSCALL returned=5 errno=0 state=SSLv3 read server hello A (OpenSSL::SSL::SSLError)

后端 未结 3 1257
死守一世寂寞
死守一世寂寞 2021-01-18 11:42

I have already looked through many of the questions similar to this one on stack overflow and im asking the ruby gods for help now.

im getting this stack trace when

相关标签:
3条回答
  • 2021-01-18 11:54

    OpenSSL 0.9.8zg 14 July 2015

    Don't let you fool by the recent date in the version of the OpenSSL version. Mac ships with an rotten old version of OpenSSL which is not able to do TLS 1.1 and TLS 1.2 and does not support any newer ciphers, but it applies security fixes to this old version. Given that your question lacks the details to reproduce the problem my guess is that the server simply expects a new TLS version or some of the newer ciphers.

    You can check the behavior of a public https server at SSLLabs which also shows the SSL protocol versions and ciphers supported by the server. It also shows if problems are expected with various clients, including with OpenSSL version 0.9.8 which you use.

    0 讨论(0)
  • 2021-01-18 12:03

    Could this perhaps be caused by a timeout error? I was thinking so b/c in my ruby stack trace I am seeing this error and it goes through a timeout.rb file, just a guess.

    error=SSL_connect SYSCALL returned=5 errno=0 state=SSLv3 read finished A
    /Users/Ben/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/net/http.rb:920:in `connect'
    /Users/Ben/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/net/http.rb:920:in `block in connect'
    /Users/Ben/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/timeout.rb:76:in `timeout'
    /Users/Ben/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/net/http.rb:920:in `connect'
    /Users/Ben/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/net/http.rb:863:in `do_start'
    /Users/Ben/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/net/http.rb:852:in `start'
    /Users/Ben/.rvm/gems/ruby-2.1.5@caredox/gems/rest-client-1.8.0/lib/restclient/request.rb:413:in `transmit'
    /Users/Ben/.rvm/gems/ruby-2.1.5@caredox/gems/rest-client-1.8.0/lib/restclient/request.rb:176:in `execute'
    /Users/Ben/.rvm/gems/ruby-2.1.5@caredox/gems/rest-client-1.8.0/lib/restclient/request.rb:41:in `execute'
    /Users/Ben/.rvm/gems/ruby-2.1.5@caredox/gems/rest-client-1.8.0/lib/restclient.rb:65:in `get'
    

    You can try to adjust timeout setting, for me using RestClient lib

    RestClient::Request.execute(method: :get, url: url,
                                timeout: 30,
                                headers: {:accept => :json,
                                           :Authorization =>access_token_header()}
    
    0 讨论(0)
  • 2021-01-18 12:05

    Figured out the issue. I had an older version of ruby (2.0.0) I upgraded to 2.1.2 and works like magic. Not sure what ruby 2.0.0 has that makes openssl throw that Error. Very useless error message in my opinion.

    0 讨论(0)
提交回复
热议问题