SSL_connect zwróciło = 1 errno = 0 stan = SSLv3 odczytać certyfikat serwera B: weryfikacja certyfikatu nie powiodła się


281

Używam Authlogic-Connect do logowania osób trzecich. Po uruchomieniu odpowiednich migracji logowanie na Twitterze / Google / yahoo wydaje się działać dobrze, ale logowanie do Facebooka powoduje wyjątek:

SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

Dziennik deweloperski pokazuje

OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed):
  app/controllers/users_controller.rb:37:in `update'

Proszę zasugeruj..



Oto najlepsze rozwiązanie, jakie udało mi się znaleźć do tej pory stackoverflow.com/a/16983443/11792
— Pavel Nikolov

Odpowiedzi:


138

Wystąpił podobny problem podczas próby użycia generatora JQuery dla Rails 3

Rozwiązałem to w ten sposób:

  1. Uzyskaj pakiet CURL Certificate Authority (CA). Możesz to zrobić za pomocą:

    • sudo port install curl-ca-bundle [jeśli używasz MacPorts]
    • lub po prostu pociągnij go bezpośrednio w dół wget http://curl.haxx.se/ca/cacert.pem
  2. Wykonać kod Ruby próbuje zweryfikować certyfikat SSL: SSL_CERT_FILE=/opt/local/etc/certs/cacert.pem rails generate jquery:install. W twoim przypadku, chcesz ustawić to jako zmienną środowiskową gdzieś, gdzie serwer ją odbiera, lub dodać coś takiego jak ENV['SSL_CERT_FILE'] = /path/to/your/new/cacert.pemw pliku environment.rb.

Można też po prostu zainstalować pliki Ca (nie próbowałem tego) do systemu operacyjnego - nie są długie instrukcje tutaj - to powinno działać w podobny sposób, ale nie próbowałem tego osobiście.

Zasadniczo problem polega na tym, że niektóre usługi internetowe odpowiadają certyfikatem podpisanym wobec urzędu certyfikacji, którego OpenSSL nie może zweryfikować.


1
Działa to również dla mnie, gdy próbowałem połączyć się z moim kontem Gmail za pomocą Ruby Net :: IMAP ze skryptu ruby.
— Jignesh Gohel

4
Tak, działa dobrze na Ruby-1.9.3. Dodałem go do mojej konfiguracji bash. export SSL_CERT_FILE=/usr/local/etc/openssl/certs/cert.pem
— andersjanmyr,

5
Nie miałem / usr / local / etc / openssl, więc pobiegłem sudo curl http://curl.haxx.se/ca/cacert.pem >> /usr/local/etc/cacert.pemza nim export SSL_CERT_FILE=/usr/local/etc/cacert.pem
— Lilith River

4
Rozwijając się na komputerze Mac, właśnie dodałem SSL_CERT_FILE=/usr/local/etc/openssl/cert.pemdo .envpliku mojej aplikacji i voila - wszyscy są szczęśliwi.
— Dave Sag

8
Doceniam ironię używania wget do pobierania certyfikatów curl.
— Trey,

135

Jeśli używasz RVM na OS X, prawdopodobnie musisz uruchomić to:

rvm osx-ssl-certs update all

Więcej informacji tutaj: http://rvm.io/support/fixing-broken-ssl-certificates

A oto pełne wyjaśnienie: https://github.com/wayneeseguin/rvm/blob/master/help/osx-ssl-certs.md


Aktualizacja

W Ruby 2.2 może być konieczna ponowna instalacja Ruby ze źródła, aby to naprawić. Oto jak (zastąp 2.2.3swoją wersją Ruby):

rvm reinstall 2.2.3 --disable-binary

Podziękowania dla https://stackoverflow.com/a/32363597/4353 i Iana Connora .


2
Oto o wiele bardziej wyczerpujący opis z alternatywami: railsapps.github.io/openssl-certificate-verify-failed.html
— Peter P.

BŁĄD: aktualizacja rvm została usunięta. Zamiast tego zobacz interfejs API CLI „rvm get” i rvm „rubygems”
— yang

@ user432506 Jak doszło do tego błędu? Używam najnowszej stabilnej RVM i nadal działa.
— htanata

4
To by działało przez chwilę, a potem zawiodło dla mnie. To, co zadziałało, działało, rvm reinstall 2.2.0 --disable-binaryale musisz zainstalować pakiet i zacząć od nowa.
— Ian Connor,

2
To był ogromny ratownik i powinna być przyjętą odpowiedzią.
— Siraris,

129

Oto, jak możesz to naprawić w systemie Windows: https://gist.github.com/867550 (stworzony przez Fletcher Nichol)

Fragment:

The Manual Way (Nudny)

Pobierz cacert.pemplik z http://curl.haxx.se/ca/cacert.pem . Zapisz ten plik w C:\RailsInstaller\cacert.pem.

Teraz powiadom Ruby o pakiecie urzędu certyfikacji, ustawiając SSL_CERT_FILE. Aby ustawić to w bieżącej sesji wiersza polecenia, wpisz:

set SSL_CERT_FILE=C:\RailsInstaller\cacert.pem

Aby ustawić to na stałe, dodaj to w panelu sterowania .


6
Dziękuję Ci. Jest to wyjątkowo przydatne, a także bardzo proste.
— John

Powyższe rozwiązanie mi nie pomogło. Jest to lepszy przewodnik dla systemu Windows: stackoverflow.com/questions/5720484/…
— Sprachprofi

@Sprachprofi Rozwiązanie, z którym masz połączenie, będzie działało tylko dla 1 projektu szynowego na raz (ponieważ wskazujesz bezpośrednio na ten certyfikat). Istota, z którą się połączyłem (utworzona przez Fletchera Nichola), pozwoli jej objąć każdy projekt / klejnot, który szuka certyfikatu.
— ryanjones

31

Ruby nie może znaleźć żadnych certyfikatów głównych, którym można zaufać.

Spójrz na ten post na blogu, aby znaleźć rozwiązanie: „ Ruby 1.9 i błąd SSL ”.

Rozwiązaniem jest zainstalowanie curl-ca-bundleportu zawierającego te same certyfikaty główne, których używa Firefox:

sudo port install curl-ca-bundle

i powiedz httpsobiektowi, aby go używał:

https.ca_file = '/opt/local/share/curl/curl-ca-bundle.crt'

Pamiętaj, że jeśli chcesz, aby kod działał na Ubuntu, musisz ca_pathzamiast tego ustawić atrybut z domyślną lokalizacją certyfikatów /etc/ssl/certs.


8
Wydaje się, że dzieje się tak również w systemie Windows, w którym to przypadku zalecane tam rozwiązanie nie będzie działać.
— Bob Aman

24

Przyczyną tego błędu w OSX jest ruby ​​zainstalowany w rvm.

Jeśli napotkasz ten problem w OSX, możesz znaleźć naprawdę szerokie wyjaśnienie tego w tym poście na blogu:

http://toadle.me/2015/04/16/fixing-failing-ssl-verification-with-rvm.html

Krótka wersja jest taka, że ​​w przypadku niektórych wersji Ruby RVM pobiera wstępnie skompilowane pliki binarne, które szukają certyfikatów w niewłaściwej lokalizacji. Wymuszając na RVM pobranie źródła i kompilację na własnym komputerze, upewniasz się, że konfiguracja lokalizacji certyfikatu jest poprawna.

Polecenie to:

rvm install 2.2.0 --disable-binary

jeśli masz już wersję, o której mowa, możesz ją ponownie zainstalować za pomocą:

rvm reinstall 2.2.0 --disable-binary

(oczywiście, w razie potrzeby zamień swoją wersję ruby).


To zadziałało dla mnie. Post na blogu, na który wskazujesz, jest również przydatny, dzięki!
— Cristian

2
To działało dla mnie na El Capitan. I imploded rvm (rvm implode). Zainstalowałem ponownie z, \curl -sSL https://get.rvm.io | bash -s stable --autolibs=homebrewa potem rvm install <ruby-version> --disable-binary W pewnym momencie zrobiłem to również, rvm get headponieważ są to niektóre krwawiące problemy.
— rylanb

Tylko to rozwiązanie działało dla mnie, ponieważ pierwotnie miałem Ruby 2.0.0 na El Capitan iz jakiegoś powodu starsza wersja nie działała nawet poprawnie SSL_CERT_FILE. Po rvm install 2.2.0 --disable-binaryrozwiązaniu problemu.
— laimison

20

Problem polega na tym, że Ruby nie może znaleźć certyfikatu głównego, któremu można zaufać. Od wersji 1.9 ruby ​​to sprawdza. Musisz upewnić się, że masz certyfikat curl w systemie w postaci pliku pem. Musisz także upewnić się, że certyfikat znajduje się w miejscu, w którym Ruby się spodziewa. Możesz uzyskać ten certyfikat na ...

http://curl.haxx.se/ca/cacert.pem

Jeśli jesteś użytkownikiem RVM i OSX, lokalizacja pliku certyfikatu będzie się różnić w zależności od używanej wersji ruby. Wyraźne ustawienie ścieżki za pomocą: ca_path jest ZŁYM pomysłem, ponieważ twój kod nie będzie przenośny, gdy przejdzie do produkcji. Tam chcesz dostarczyć Rubinowi certyfikat w domyślnej lokalizacji (i załóż, że twoi deweloperzy wiedzą, co robią). Możesz użyć narzędzia dtruss, aby dowiedzieć się, gdzie system szuka pliku certyfikatu.

W moim przypadku system szukał pliku cert w

/Users/stewart.matheson/.rvm/usr/ssl/cert.pem

jednak system MACOSX oczekuje certyfikatu

/System/Library/OpenSSL/cert.pem

Skopiowałem pobrany certyfikat na tę ścieżkę i zadziałało. HTH


2
Dla mnie na Ubuntu 12.04, ścieżka certyfikatu, która działa, to~/.rvm/usr/ssl/cert.pem
— Nazar Hussain

Jak korzystasz z dtruss, aby dowiedzieć się, gdzie system szuka certyfikatu?
— pingu

@pingu nie pamięta dokładnej komendy, w zasadzie uruchamiasz drussa i każesz mu uruchomić dowolny proces ruby, który chcesz, aby „sprawdził”. Jego dane wyjściowe są bardzo szczegółowe, ale w zasadzie będzie można zobaczyć każde wywołanie systemowe ruby. Jednym z wywołań będzie wywołanie odczytu pliku, które będzie wskazywało na plik, który nie istnieje. Przenieś certyfikat tutaj lub utwórz link, a powinieneś być gotowy.
— Stewart,

Ruby nie powinien szukać cacert.pemsystemu OS X. OS X nie używa cacert.pem. Certyfikaty systemowe i certyfikaty użytkownika są przechowywane w KeyChain. Ruby powinien integrować się z KeyChain na OS X.
— jww

Jak najlepiej to zrobić? Czy możesz opublikować przykład?
— Stewart,

19

Nowy certyfikowany klejnot został zaprojektowany, aby to naprawić:

https://github.com/stevegraham/certified


Działa z Ruby 2.0.0p481 (2014-05-08) [i386-mingw32]
— Evmorov

1
Nie działa dla mnie z Rails 4.1.9, ruby-2.1.5. Dodałem go do Gemfile, bundlewyraźnie dodałem require "certified"tylko dla pewności i nic się nie zmienia. czego mi brakuje?
— Izaak Betesh

Ruby nie powinien szukać cacert.pemsystemu OS X. OS X nie używa cacert.pem. Certyfikaty systemowe i certyfikaty użytkownika są przechowywane w KeyChain. Ruby powinien integrować się z KeyChain na OS X. OpenSSL nigdy nie rozpowszechniał cacert.pem. Nie jest dla mnie jasne, dlaczego jakiekolwiek oprogramowanie odłożyłoby się w tym kierunku do OpenSSL.
— jww

18

Wystarczy dodać „certyfikowany” klejnot do pliku gem i uruchomić instalację pakietu.

  1. klejnot „ certyfikowany ”
  2. instalacja pakietu

Potwierdzenie, że pomogło to El Capitan. Dzięki!
— mcmlxxxiii

Działa idealnie z Railsami i Debianem :) wielkie wielkie dzięki!
— Szymon Rut

17

W systemie Mac OS X Lion z najnowszym Macport:

sudo port install curl-ca-bundle  
export SSL_CERT_FILE=/opt/local/share/curl/curl-ca-bundle.crt  

Następnie ponownie uruchom nieudane zadanie.

Uwaga: wydaje się, że lokalizacja pliku cert zmieniła się od czasu, gdy Eric G odpowiedział 12 maja.


Po wszystkich poszukiwaniach i wielu próbach to była jedyna rzecz, która rozwiązała problem. Dzięki!
— shawnwall

1
fajnie, to naprawiło. Ale tak długo, jak openssl jest zainstalowany z homebrew, musisz dodać plik export SSL_CERT_FILE=/usr/local/etc/openssl/cacert.pem.profile lub .bashrc
— 23tux

14

Jeden linijka naprawia go dla systemu Windows w monicie administratora

choco install wget(najpierw zobacz chocolatey.org )

wget http://curl.haxx.se/ca/cacert.pem -O C:\cacert.pem && setx /M SSL_CERT_FILE "C:\cacert.pem"

Lub po prostu zrób to:

gem sources -r https://rubygems.org/
gem sources -a http://rubygems.org/

Metoda Milanio:

gem sources -r https://rubygems.org
gem sources -a http://rubygems.org 
gem update --system
gem sources -r http://rubygems.org
gem sources -a https://rubygems.org

gem install [NAME_OF_GEM]

1
Mała poprawka - wystarczy zaktualizować ruby, a następnie można ponownie dodać źródło https - to zadziałało dla mnie jak urok: źródła klejnotów -r rubygems.org => źródła klejnotów -a rubygems.org => aktualizacja klejnotów - system => źródła klejnotów -r rubygems.org => źródła klejnotów -a rubygems.org => instalacja klejnotów [NAME_OF_GEM]
— milanio,

13

Cóż, to zadziałało dla mnie

rvm pkg install openssl
rvm reinstall 1.9.2 --with-openssl-dir=$rvm_path/usr

Coś jest nie tak z implementacją openssl mojego Ubuntu 12.04


3
To działa, ale miałem do końca z tym: curl -O http://curl.haxx.se/ca/cacert.pem, mv cacert.pem cert.pem,mv cert.pem $rvm_path/usr/ssl
— Raf

Pracował dla mnie, Mac OS X Yosemite. Dzięki!
— anevaude

12

Wiedząc, że jest to raczej kiepskie rozwiązanie, nadal się tym dzielę, ponieważ wygląda na to, że bardzo niewiele osób odpowiadających tutaj używa systemu Windows i myślę, że niektórzy użytkownicy systemu Windows (włącznie ze mną) doceniliby proste i intuicyjne podejście.

require 'openssl'
puts OpenSSL::X509::DEFAULT_CERT_FILE

To mówi, gdzie twój openssl szuka pliku cert. Nie nazywam się Luis, ale moje było C:/Users/Luis/Code/luislavena/knap-build/var/knapsack/software/x86-windows/openssl/1.0.0l/ssl/cert.pem. Ścieżka może być różna w zależności od każdego środowiska (np. openknapsackZamiast luislavena).

Ścieżka nie zmieniła się nawet po set SSL_CERT_FILE=C:\foo\bar\baz\cert.pemkonsoli, więc ... Utworzyłem katalog C:\Users\Luis\Code\luislavena\knap-build\var\knapsack\software\x86-windows\openssl\1.0.0l\ssl na dysku lokalnym i umieściłem w nim plik cert.

Jakkolwiek kulawe, to na pewno zadziała.


2
Znakomity. Hacky, ale to była jedyna rzecz, która rozwiązała mój problem.
— Daniel Magliola,

Miły sposób debugowania ... Dla mnie użytkownik był „Justin”. Googling pokazuje, że jest to znany problem z RubyInstaller. Niestety, samodzielne utworzenie tego katalogu (+ pliku pem) nie rozwiązało problemu
— Wouter

12

Próbuję zainstalować za curl-ca-bundlepomocą brew, ale pakiet nie jest już dostępny:

$ brew install curl-ca-bundle
Error: No available formula for curl-ca-bundle 
Searching formulae...
Searching taps...

Rozwiązaniem, które zadziałało na Macu było:

 $ cd /usr/local/etc/openssl/certs/
 $ sudo curl -O http://curl.haxx.se/ca/cacert.pem

Dodaj ten wiersz w swoim ~/.bash_profile(lub ~/.zshrcdla zsh):

export SSL_CERT_FILE=/usr/local/etc/openssl/certs/cacert.pem

Następnie zaktualizuj terminal:

$ source ~/.bash_profile

1
To działało dla mnie - ale ścieżka jest zła. Powinien być:export SSL_CERT_FILE=/usr/local/etc/openssl/certs/cacert.pem
— dnlmzw

2
To dobre rozwiązanie ze względu na swoją prostotę. Odwołując się do dodanego certyfikatu ~/.bash_profile, pozostawia przypomnienie o tym, co zostało dodane (i, co najważniejsze, gdzie), gdy wymagane są dalsze aktualizacje.
— auxbuss,

To zadziałało dla mnie. @dnlmzw ścieżka była dla mnie w porządku, ale oczywiście zależy to od konfiguracji. Dzięki!
— theartofbeing

nie działało dla mnie, gdy próbowałem dodać prywatny adres URL serwera gem, który używa samopodpisanego certyfikatu do moich źródeł gem. OSX 10.11.6 + rbenv
— sixty4bit

12

Oto kolejna opcja do celów debugowania.

Pamiętaj, aby nigdy nie używać tego w żadnym środowisku produkcyjnym, ponieważ spowoduje to negację korzyści wynikających z używania SSL. Jest to zawsze uzasadnione tylko w lokalnym środowisku programistycznym.

require 'openssl'
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

26
Przesłuchane: Tak, to działa, ale bariera w instalacji prawidłowego pakietu CA i faktycznego rozwiązania problemu jest tak niska, że ​​takie rozwiązanie - które prawie całkowicie unieważnia bezpieczeństwo SSL - nie jest rozwiązaniem, które należy wdrożyć, chyba że znajdują się w środowisku, w którym urząd certyfikacji jest całkowicie niedostępny (i nawet wtedy należy utworzyć lokalny urząd certyfikacji, który będzie dostępny dla obu punktów końcowych).
— yaauie,

10
Nie usunął prawie całkowicie ochrony SSL, całkowicie ją usuwa. Nigdy tego nie rób.
— drbrain

15
Do debugowania wystarczy
— rickyduck

1
Powoduje to wyświetlenie ostrzeżenia w 1.9
— Ivan

2
Jest to złe rozwiązanie do pracy produkcyjnej przez Internet, ale zdecydowanie nie jest prawdą, że „równie dobrze możesz nie używać SSL”. Ruch zaszyfrowany za pomocą drutu jest lepszy niż ruch w czystym miejscu. Tak, masz możliwość ataków typu man-in-the-middle, ale są one co najmniej o jeden stopień trudniejsze do zniesienia, niż po prostu podsłuchiwanie przepływającego tekstu jawnego.
— Mark Reed,

10

Miałem ten sam problem podczas pracy nad projektem Ruby. Używam Windows 7 64bit.

Rozwiązałem to przez:

  1. Pobieranie pliku cacert.pem z http://curl.haxx.se/ca/cacert.pem .
  2. Zapisałem ten plik w Zapisałem C: /RubyCertificates/cacert.pem
  3. Następnie ustaw moją zmienną środowiskową „SSL_CERT_FILE” na „C: \ RubyCertificates \ cacert.pem”

źródło: https://gist.github.com/fnichol/867550


Ponieważ jest to Windows, odwrotne ukośniki powinny być używane w wartości zmiennej środowiskowej.
— Christian Baumann,

jest to jedyne rozwiązanie, które działało na mnie, aby naprawić „pakiet” po naprawieniu błędu ssl rubygems
— DonBecker

7

Najprostsza odpowiedź, która działała dla mnie, była następująca

sudo apt-get install openssl ca-certificates

I voila !!!


1
Żałuję, że nie mogłem zagłosować więcej niż jeden raz, ponieważ zaoszczędziłeś mi tyle czasu!
— Stephen

1
@ Stephen - Chciałbym, żebyś też :-). Zaoszczędziło mi to dużo czasu, więc pomyślałem, że opublikuję to tutaj i może pomóc komuś innemu.
— Pratik Bothra,

7

OS X 10.8.x z Homebrew:

brew install curl-ca-bundle
brew list curl-ca-bundle
cp /usr/local/Cellar/curl-ca-bundle/1.87/share/ca-bundle.crt /usr/local/etc/openssl/cert.pem

1
Działa dla mnie również w wersji 10.9.
— Sami Samhuri,

1
Ok dla mnie, OS X 10.9.1. Niesamowite!
— rogeriopradoj

Coś jest poważnie zepsute, gdy musisz znaleźć przypadkowe rozwiązania, aby rozwiązać te głupie problemy. Wszystkie te odpowiedzi robią coś zupełnie innego iw pewnym momencie wydawały się pomagać ludziom. WTF?
— sergserg

13
Pakiet curl-ca został odnowiony z browaru
— Fa11enAngel


4

To zadziałało dla mnie. Jeśli używasz RVM i Brew:

rvm remove 1.9.3
brew install openssl
rvm install 1.9.3 --with-openssl-dir=`brew --prefix openssl`

4

Natknąłem się na ten problem i sugerowana poprawka rvm osx-ssl-certs update allnie zadziałała, mimo że jestem użytkownikiem RVM na OSX.

Dla mnie poprawką było ponowne zainstalowanie najnowszej wersji openssl:

brew update
brew remove openssl
brew install openssl

4

Rozwiązałem ten problem, uruchamiając go w terminalu. Pełny opis jest dostępny tutaj

rvm install 2.2.0 --disable-binary

3

Rozwiązanie OSX:

zainstaluj najnowszą stabilną wersję rvm

rvm get stable

użyj komendy rvm, aby automatycznie rozwiązać certyfikaty

rvm osx-ssl-certs update all

1
Próbowałem tego i nie działało to dla mnie. Oto moje rozwiązanie: stackoverflow.com/a/16741712/62
— Liron Yahdav

Pracowałem dla mnie po zainstalowaniu Ruby 2.0.0 przez RVM.
— Chris Peters,

3

Jeśli używasz aplikacji Railsowej lokalnie, po prostu dodaj ten wiersz na dole application.rb.

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

Następnie możesz korzystać z aplikacji bez żadnych problemów. Możesz nazwać to hackem, ale nie jest to zalecane. Używaj tylko wtedy, gdy potrzebujesz uruchomić lokalnie


2

Oto, co zrobiłem, co pomogło, jeśli masz konkretny problem z Leopardem.

Mój certyfikat był stary i wymagał aktualizacji. Pobrałem to:

http://curl.haxx.se/ca/cacert.pem

Następnie zastąpiłem mój certyfikat, który został tutaj znaleziony na Leopardzie:

/usr/share/curl/curl-ca-bundle.crt

Załaduj ponownie wszystko, co masz do niego dostęp, i powinieneś już iść!


2

Tylko dlatego, że instrukcje były nieco inne dla tego, co działało dla mnie, pomyślałem, że dodam moje 2 centy:

Jestem na OS X Lion i używam Macports i RVM

Zainstalowałem pakiet curl-ca:

sudo port install curl-ca-bundle

Następnie dostosowałem konfigurację omniauth do tego:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :google_oauth2, APP_CONFIG['CONSUMER_KEY'], APP_CONFIG['CONSUMER_SECRET'],
           :scope => 'https://www.google.com/m8/feeds https://www.googleapis.com/auth/userinfo.profile',
           :ssl => {:ca_path => "/share/curl/curl-ca-bundle.crt"}
end

Możesz (i prawdopodobnie powinieneś) zrezygnować z CA CA Zoo ( ca-bundle.crt) i użyć Google Internet Authority G2 w :ssl => {:ca_path => "/share/curl/curl-ca-bundle.crt"}. To jedyny potrzebny do certyfikacji połączeń z Google.
— jww

2

Jeśli masz dowiązanie symboliczne w / usr / local / etc / openssl wskazujące na cert.pem, spróbuj to zrobić:

ruby -ropenssl -e "p OpenSSL::X509::DEFAULT_CERT_FILE" (should be /usr/local/etc/openssl)
cd /usr/local/etc/openssl
wget http://curl.haxx.se/ca/cacert.pem
ln -s cacert.pem 77ee3751.0 (77ee3751.0 is my symbolic link, should depend on the openssl version)

2

Dla mnie zadziałała kombinacja odpowiedzi, a mianowicie:

# Reinstall OpenSSL
brew update
brew remove openssl
brew install openssl
# Download CURL CA bundle
cd /usr/local/etc/openssl/certs
wget http://curl.haxx.se/ca/cacert.pem
/usr/local/opt/openssl/bin/c_rehash
# Reinstall Ruby from source
rvm reinstall 2.2.3 --disable-binary

1

Miałem kłopoty przez kilka dni i rąbałem wokół. Ten link okazał się dla mnie niezwykle pomocny. Pomogło mi to w udanej aktualizacji SSL na MAC OS X 9.


1

Czasami nie zawsze jest to problem rvm w MAC OSX, jeśli usuniesz .rvm, problem nadal (szczególnie podczas tworzenia kopii zapasowej danych z timemachine), możesz spróbować w ten sposób.

1.brew update
2.brew install openssl

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.