1 like 0 dislike
76 views
in Ruby by
Ruby mechanize kullanımında SSL cert hatası alıyorum. Hata aşağıdaki şekilde;

xxx/http.rb:933:in `connect_nonblock': SSL_connect returned=1 errno=0 state=error: certificate verify failed (OpenSSL::SSL::SSLError)
    from /home/ay/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/http.rb:933:in `connect'
    from /home/ay/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/http.rb:863:in `do_start'
    from /home/ay/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/http.rb:858:in `start'
    from /home/ay/.rvm/gems/ruby-2.3.0/gems/net-http-persistent-2.9.4/lib/net/http/persistent.rb:700:in `start'
    from /home/ay/.rvm/gems/ruby-2.3.0/gems/net-http-persistent-2.9.4/lib/net/http/persistent.rb:631:in `connection_for'
    from /home/ay/.rvm/gems/ruby-2.3.0/gems/net-http-persistent-2.9.4/lib/net/http/persistent.rb:994:in `request'
    from /home/ay/.rvm/gems/ruby-2.3.0/gems/mechanize-2.7.5/lib/mechanize/http/agent.rb:274:in `fetch'
    from /home/ay/.rvm/gems/ruby-2.3.0/gems/mechanize-2.7.5/lib/mechanize.rb:464:in `get'
    from /home/ay/.rvm/gems/ruby-2.3.0/gems/mechanize-2.7.5/lib/mechanize.rb:348:in `click'
    from /home/ay/.rvm/gems/ruby-2.3.0/gems/mechanize-2.7.5/lib/mechanize/page/link.rb:30:in `click'

1 Answer

0 like 0 dislike
by anonymous Bilge (165k points)
Düzeltmek için mechanize nesnesine aşağıdaki değerleri set ediniz. Aşağıda doğrulama yapılmamaktadır. Dilerseniz cert bilgilerini set etmek gibi bir yöntemde tercih edebilirsiniz.

1-

@mechanize = Mechanize.new
@mechanize.agent.http.verify_mode = OpenSSL::SSL::VERIFY_NONE

2-
Uygulamanın en başında aşağıdaki tanımıda yapabilirsiniz;
require 'openssl'
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

3-
Sertifikayı yüklemek içinse,
require 'openssl'
cert_store = OpenSSL::X509::Store.new
cert_store.add_file = 'lib/cacert.pem' # copied here cert file
agent = Mechanize.new
agent.cert_store = cert_store
agent.get 'https://github.com'
...