2016-03-26 14 views
0

Versuch # 1

Ich wurde nach this page die OpenSSL-Zertifikat Fehler in meinem Mac El Capitan zu beheben.SSL-Fehler mit der neuesten RVM

Obwohl die RVM und Zertifikate bis zu Datum sind, tritt das Zertifikat Fehler noch:

☁ ~ rvm -v 
rvm 1.26.11 (master) by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.io/] 

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

☁ ~ ruby -e "require 'open-uri'; open 'https://www.google.com'" 
/Users/leninrajrajasekaran/.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/leninrajrajasekaran/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/net/http.rb:923:in `block in connect' 
    from /Users/leninrajrajasekaran/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/timeout.rb:73:in `timeout' 
    from /Users/leninrajrajasekaran/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/net/http.rb:923:in `connect' 
    from /Users/leninrajrajasekaran/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/net/http.rb:863:in `do_start' 
    from /Users/leninrajrajasekaran/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/net/http.rb:852:in `start' 
    from /Users/leninrajrajasekaran/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/open-uri.rb:318:in `open_http' 
    from /Users/leninrajrajasekaran/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/open-uri.rb:736:in `buffer_open' 
    from /Users/leninrajrajasekaran/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/open-uri.rb:211:in `block in open_loop' 
    from /Users/leninrajrajasekaran/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/open-uri.rb:209:in `catch' 
    from /Users/leninrajrajasekaran/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/open-uri.rb:209:in `open_loop' 
    from /Users/leninrajrajasekaran/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/open-uri.rb:150:in `open_uri' 
    from /Users/leninrajrajasekaran/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/open-uri.rb:716:in `open' 
    from /Users/leninrajrajasekaran/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/open-uri.rb:34:in `open' 
    from -e:1:in `<main>' 

Versuch # 2

Nach this answer.

Erstellen Sie eine neue Datei fix_ssl.rb in Ihrer Anwendung initializer mit:

require 'open-uri' 
require 'net/https' 

module Net 
    class HTTP 
    alias_method :original_use_ssl=, :use_ssl= 

    def use_ssl=(flag) 
     self.ca_file = Rails.root.join('lib/ca-bundle.crt').to_s 
     self.ca_path = Rails.root.join('lib/ca-bundle.crt').to_s 
     self.verify_mode = OpenSSL::SSL::VERIFY_PEER 
     self.original_use_ssl = flag 
    end 
    end 
end 

die crt-Datei und Platz in Ihrem lib herunterladen.

versuchen nun das gleiche in Schienen Konsole:

☁ duggout [master] ⚡ rails c 
Loading development environment (Rails 4.2.5) 
2.2.3 :001 > require 'open-uri'; open 'https://www.google.com' 
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed 
    from /Users/leninrajrajasekaran/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/net/http.rb:923:in `connect' 

OpenSSL

OpenSSL derjenige von Homebrew und ist zuletzt:

☁ ~ openssl version -a 
OpenSSL 1.0.2g 1 Mar 2016 
built on: reproducible build, date unspecified 
platform: darwin64-x86_64-cc 
options: bn(64,64) rc4(ptr,int) des(idx,cisc,16,int) idea(int) blowfish(idx) 
compiler: clang -I. -I.. -I../include -fPIC -fno-common -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -arch x86_64 -O3 -DL_ENDIAN -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM 
OPENSSLDIR: "/usr/local/etc/openssl" 

Wie beheben wir das Zertifikat Fehler?

+0

@sawa hinzugefügt, um die Frage – emaillenin

Antwort

0

Das ist, was ich tat:

mit --disable-binary

rvm uninstall ruby-2.2.3 
rvm install ruby-2.3.0 --disable-binary 
gem pristine --all 

2.3.0 Rubin verbessert und funktioniert jetzt:

2.3.0 :001 > require 'open-uri'; open 'https://www.google.com' 
=> #<Tempfile:/var/folders/xq/lb_rp7gs3_b0_dh8zt5nrbm40000gp/T/open-uri20160326-38471-1xf48xn> 
Verwandte Themen