SSL_connect döndü = 1 errno = 0 durum = SSLv3 okuma sunucusu sertifikası B: sertifika doğrulaması başarısız oldu


281

Üçüncü taraf girişleri için Authlogic-Connect kullanıyorum . Uygun taşıma işlemlerini gerçekleştirdikten sonra Twitter / Google / yahoo girişleri iyi çalışıyor gibi görünüyor, ancak facebook girişi istisna atıyor:

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

Geliştirici günlüğü şunu gösterir:

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'

Lütfen önerin ..



İşte şimdiye kadar bulabildiğim en iyi çözüm stackoverflow.com/a/16983443/11792
Pavel Nikolov

Yanıtlar:


138

Rails 3 için JQuery jeneratör kullanmaya çalışırken benzer bir sorunla karşılaştım

Ben böyle çözdüm:

  1. CURL Sertifika Yetkilisi (CA) paketini edinin. Bunu aşağıdakilerle yapabilirsiniz:

    • sudo port install curl-ca-bundle [MacPorts kullanıyorsanız]
    • veya doğrudan aşağıya çekin wget http://curl.haxx.se/ca/cacert.pem
  2. SSL sertifikası doğrulamak için çalışıyor yakut kodu yürütün: SSL_CERT_FILE=/opt/local/etc/certs/cacert.pem rails generate jquery:install. Sizin durumunuzda, bunu sunucunun seçtiği bir yerde bir ortam değişkeni olarak ayarlamak ya da ENV['SSL_CERT_FILE'] = /path/to/your/new/cacert.pemenvironment.rb dosyanızdaki gibi bir şey eklemek istersiniz .

Ayrıca sadece CA dosyalarını (bunu denemedim) işletim sistemine yükleyebilirsiniz - burada uzun talimatlar var - bu benzer bir şekilde çalışmalıdır, ancak bunu şahsen denemedim.

Temel olarak, vurduğunuz sorun, bazı web hizmetlerinin OpenSSL'nin doğrulayamadığı bir CA'ya imzalanmış bir sertifika ile yanıt vermesidir.


1
Bu benim için yakut bir script Ruby Net :: IMAP kullanarak gmail hesabıma bağlanmaya çalışırken de çalıştı. Teşekkürler.
Jignesh Gohel

4
Evet, bu yakut-1.9.3 üzerinde iyi çalışıyor. Bunu bash yapılandırmama ekledim. export SSL_CERT_FILE=/usr/local/etc/openssl/certs/cert.pem
andersjanmyr

5
/ Usr / local / etc / openssl yoktu, bu yüzden sudo curl http://curl.haxx.se/ca/cacert.pem >> /usr/local/etc/cacert.pemtakip etti export SSL_CERT_FILE=/usr/local/etc/cacert.pem
Lilith River

4
Mac'imde geliştirdim, SSL_CERT_FILE=/usr/local/etc/openssl/cert.pemuygulamanın .envdosyasına ve voila'ya ekledim - hepsi mutlu.
Dave Sag

8
Kıvırmak sertifikalarını indirmek için wget kullanmanın ironisini takdir ediyorum.
Trey

135

OS X'te RVM kullanıyorsanız, muhtemelen bunu çalıştırmanız gerekir:

rvm osx-ssl-certs update all

Daha fazla bilgi burada: http://rvm.io/support/fixing-broken-ssl-certificates

Ve işte tam açıklama: https://github.com/wayneeseguin/rvm/blob/master/help/osx-ssl-certs.md


Güncelleme

Ruby 2.2'de, bunu düzeltmek için Ruby'yi kaynaktan yeniden kurmanız gerekebilir. Bunu nasıl yapacağınız ( 2.2.3Ruby sürümünüzle değiştirin ):

rvm reinstall 2.2.3 --disable-binary

Kredi https://stackoverflow.com/a/32363597/4353 ve Ian Connor .


2
İşte alternatiflerle çok daha kapsamlı bir yazı
Peter P.

HATA: rvm güncellemesi kaldırıldı. Bunun yerine 'rvm get' ve rvm 'rubygems' CLI API'sini görün
yang

@ user432506 Bu hatayı nasıl aldınız? En son kararlı RVM kullanıyorum ve hala çalışıyor.
htanata

4
Bu bir süre işe yarar, sonra benim için başarısız olur. Benim için işe rvm reinstall 2.2.0 --disable-binaryyarayan koşuydu ama o zaman yüklemek ve taze başlamak gerekir.
Ian Connor

2
Bu büyük bir cankurtaran ve kabul edilen cevap olmalı.
Siraris

129

Windows'ta nasıl düzeltebileceğiniz aşağıda açıklanmıştır: https://gist.github.com/867550 (Fletcher Nichol tarafından oluşturuldu)

Alıntı:

Manuel Yol (Sıkıcı)

cacert.pemDosyayı http://curl.haxx.se/ca/cacert.pem adresinden indirin . Bu dosyayı olarak kaydedin C:\RailsInstaller\cacert.pem.

Şimdi ayar yaparak sertifika yetkilisi paketinizden ruby'yi haberdar edin SSL_CERT_FILE. Bunu geçerli komut istemi oturumunuzda ayarlamak için şunu yazın:

set SSL_CERT_FILE=C:\RailsInstaller\cacert.pem

Bunu kalıcı bir ayar yapmak için kontrol panelinize ekleyin .


6
Teşekkür ederim. Bu son derece yararlı ve aynı zamanda çok basit.
John

Yukarıdaki çözüm bana yardımcı olmadı. Bu, Windows için daha iyi bir kılavuzdur: stackoverflow.com/questions/5720484/…
Sprachprofi

@Sprachprofi Bağlandığınız çözüm bir seferde yalnızca 1 ray projesi için çalışacaktır (doğrudan bu sertifikaya işaret ettiğinizde). Bağladığım gist (Fletcher Nichol tarafından yaratıldı) bir sertifika arayan her projeyi / cevheri kapsamasını sağlayacak.
ryanjones

31

Ruby güvenecek kök sertifika bulamıyor.

Çözüm için şu blog yazısına göz atın: " Ruby 1.9 ve SSL hatası ".

Çözüm, curl-ca-bundleFirefox tarafından kullanılan aynı kök sertifikaları içeren bağlantı noktasını kurmaktır:

sudo port install curl-ca-bundle

ve httpsnesnenize onu kullanmasını söyleyin :

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

Kodunuzun Ubuntu'da çalışmasını istiyorsanız, ca_pathbunun yerine özelliği varsayılan sertifika konumu ile ayarlamanız gerektiğini unutmayın /etc/ssl/certs.


8
Bu, Windows'ta da gerçekleşiyor gibi görünüyor, bu durumda önerilen çözüm işe yaramayacak.
Bob Aman

24

OSX'te bu hatayı almanızın nedeni rvm yüklü yakuttur.

OSX'te bu sorunla karşılaşırsanız, bu blog yayınında bunun gerçekten geniş bir açıklamasını bulabilirsiniz:

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

Kısa sürüm, Ruby'nin bazı sürümleri için RVM'nin yanlış konumda sertifika arayan önceden derlenmiş ikili dosyaları indirmesidir. RVM'yi kaynağı indirmeye ve kendi makinenizde derlemeye zorlayarak, sertifika konumu yapılandırmasının doğru olduğundan emin olursunuz.

Bunu yapmak için komut:

rvm install 2.2.0 --disable-binary

söz konusu sürüme zaten sahipseniz, aşağıdakilerle yeniden yükleyebilirsiniz:

rvm reinstall 2.2.0 --disable-binary

(açıkça, yakut sürümünüzü gerektiği gibi değiştirin).


Bu benim için çalıştı. İşaret ettiğiniz blog yayını da yararlı, teşekkürler!
Cristian

2
Bu benim için El Capitan'da işe yaradı. Rvm (rvm implode) yerleştirdim. İle tekrar Yüklü \curl -sSL https://get.rvm.io | bash -s stable --autolibs=homebrewve sonra rvm install <ruby-version> --disable-binary Bir noktada ben de yaptım rvm get headbu bazı kanama kenar sorunlardır olarak.
rylanb

Sadece bu çözüm benim için çalıştı, çünkü başlangıçta El Capitan'da Ruby 2.0.0 vardı ve bazı nedenlerden dolayı eski sürüm doğru bile çalışmadı SSL_CERT_FILE. Sonra rvm install 2.2.0 --disable-binarysorun sıralandı.
laimison

20

Sorun şu ki, ruby ​​güvenecek bir kök sertifika bulamıyor. 1.9 yakut itibariyle bunu kontrol eder. Sisteminizde bir pem dosyası biçiminde curl sertifikasına sahip olduğunuzdan emin olmanız gerekir. Ayrıca sertifikanın ruby'nin olmasını beklediği konumda olduğundan emin olmanız gerekir. Bu sertifikayı şuradan alabilirsiniz ...

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

RVM ve OSX kullanıcısıysanız, sertifika dosyanızın konumu, hangi ruby ​​sürümünü kullandığınıza bağlı olarak değişir. Yolu açık bir şekilde ayarlamak: ca_path bir KÖTÜ fikirdir çünkü kodunuz üretime geçtiğinde taşınabilir olmayacaktır. Orada sizin için varsayılan konumda bir sertifika ile yakut sağlamak istiyorum (ve dev ops adamlar ne yaptıklarını biliyoruz varsayalım). Sistemin sertifika dosyasını nerede aradığını bulmak için dtruss'u kullanabilirsiniz.

Benim durumumda sistem içinde cert dosyasını arıyordu

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

ancak MACOSX sistemi

/System/Library/OpenSSL/cert.pem

İndirilen sertifikayı bu yola kopyaladım ve işe yaradı. HTH


2
Ubuntu 12.04'te benim için çalışan sertifika yolu~/.rvm/usr/ssl/cert.pem
Nazar Hussain

Sistemin sertifikayı nerede aradığını bulmak için dtruss'u nasıl kullanırsınız?
pingu

@pingu temel komutu druss çalıştırdığınızı tam olarak hatırlayamaz ve ona "incelemek" istediğiniz yakut işlemi çalıştırmasını söylersiniz. Çıktısı çok ayrıntılı ama temelde ruby'nin yaptığı her sistem çağrısını görebileceksiniz. Çağrılardan biri, var olmayan bir dosyayı işaret edecek bir okuma dosyası çağrısı olacaktır. Sertifikayı buraya taşıyın ya da bir bağlantı oluşturun ve gitmek için iyi olmalısınız.
Stewart

Ruby cacert.pem, OS X'de bir arama yapmamalıdır . OS X kullanmaz cacert.pem. Sistem ve kullanıcı sertifikaları Anahtar Zincirinde saklanır. Ruby, OS X'teki
KeyChain

Bunu yapmanın en iyi yolu nedir? Bir örnek gönderebilir misiniz?
Stewart

19

Yeni sertifikalı mücevher bunu düzeltmek için tasarlanmıştır:

https://github.com/stevegraham/certified


Ruby 2.0.0p481 (2014-05-08) ile çalışır [i386-mingw32]
Evmorov

1
Rails 4.1.9, ruby-2.1.5 ile benim için çalışmıyor. Gemfile'a ekledim, sadece emin olmak için bundleaçıkça ekledim require "certified"ve hiçbir şey değişmedi. Neyi kaçırıyorum?
Isaac Betesh

Ruby cacert.pem, OS X'de bir arama yapmamalıdır . OS X kullanmaz cacert.pem. Sistem ve kullanıcı sertifikaları Anahtar Zincirinde saklanır. Ruby, OS X üzerinde KeyChain ile entegre olmalıdır. OpenSSL hiçbir zaman a cacert.pem. Herhangi bir yazılımın neden OpenSSL'ye erteleyeceği net değil.
jww

18

Gemfile'ınıza gem 'sertifikalı' ekleyin ve paket kurulumunu çalıştırın.

  1. mücevher ' sertifikalı '
  2. paket yükleme

Bunun El Capitan'a yardımcı olduğunu doğrulamak. Teşekkürler!
mcmlxxxiii

Rails ve Debian ile mükemmel çalışır :) büyük büyük teşekkürler!
Szymon Rut

17

En son macport ile Mac OS X Lion'da:

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

Ardından, başarısız işi yeniden çalıştırın.

Not, Eric G'nin 12 Mayıs'ta yanıt vermesinden bu yana sertifika dosyasının konumu değişmiş gibi görünüyor.


Tüm araştırmalardan ve çok sayıda denemeden sonra, sorunu çözen tek şey buydu. Teşekkürler!
shawnwall

1
serin, düzeltti. Ancak, openssl homebrew ile birlikte yüklendiği sürece export SSL_CERT_FILE=/usr/local/etc/openssl/cacert.pem, .profile veya .bashrc dosyanıza
23tux

14

Tek bir satır, bunu Yönetici isteminde Windows için düzeltir

choco install wget(önce chocolatey.org'a bakınız )

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

Veya sadece bunu yapın:

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

Milanio'nun yöntemi:

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
Küçük gelişme - sadece ruby'yi güncellemeniz ve sonra https kaynağını geri ekleyebilirsiniz - bu benim için bir cazibe gibi çalıştı: gem kaynakları -r rubygems.org => gem kaynakları -a rubygems.org => gem güncelleme --sistem => mücevher kaynakları -r rubygems.org => mücevher kaynakları -a rubygems.org => mücevher takma [
NAME_OF_GEM

13

Bu benim için çalıştı

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

Benim ubuntu 12.04'ün openssl uygulaması ile ilgili bir sorun var


3
Bu eserler, ancak bununla bitirmek zorunda kaldı: curl -O http://curl.haxx.se/ca/cacert.pem, mv cacert.pem cert.pem,mv cert.pem $rvm_path/usr/ssl
Raf

Benim için çalıştı, Mac OS X Yosemite. Teşekkürler!
anevaude

12

Oldukça topal bir çözüm olduğunu bilirken, bunu hala paylaşıyorum çünkü burada cevap veren çok az insan Windows kullanıyor ve sanırım bazı Windows kullanıcıları (ben dahil) basit ve sezgisel bir yaklaşımı takdir edecekler.

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

Bu, openssl'nizin sertifika dosyasını nerede aradığını söyler. Benim adım Luis değil, ama benimki C:/Users/Luis/Code/luislavena/knap-build/var/knapsack/software/x86-windows/openssl/1.0.0l/ssl/cert.pem. Yol, kendi ortamlarına bağlı olarak farklı olabilir (örneğin, openknapsackyerine luislavena).

Yol set SSL_CERT_FILE=C:\foo\bar\baz\cert.pemkonsoldan sonra bile değişmedi , bu yüzden ... C:\Users\Luis\Code\luislavena\knap-build\var\knapsack\software\x86-windows\openssl\1.0.0l\ssl Yerel diskimdeki dizini oluşturdum ve içine bir sertifika dosyası koydum.

Topal olduğu gibi, bu kesinlikle işe yarayacak.


2
Parlak. Hacky, ama sorunumu çözen tek şey buydu.
Daniel Magliola

Hata ayıklamanın güzel yolu ... Benim için kullanıcı "Justin" idi. Google, bunun RubyInstaller ile ilgili bilinen bir sorun olduğunu gösteriyor. Ne yazık ki, bu dizini (+ pem dosyası) kendim oluşturmak, sorunu benim için çözmedi
Wouter

12

Ben yüklemeye denemek ettik curl-ca-bundleile brew, ancak paket hiçbir mevcut fazlasıdır:

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

Mac'te bana çalışan çözüm şuydu:

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

Bu satırı ~/.bash_profile(veya ~/.zshrczsh için) içine ekleyin :

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

Ardından terminalinizi güncelleyin:

$ source ~/.bash_profile

1
Bu benim için çalıştı - ama yol yanlış. Olması gereken:export SSL_CERT_FILE=/usr/local/etc/openssl/certs/cacert.pem
dnlmzw

2
Bu basitliği nedeniyle güzel bir çözümdür. Ayrıca, eklenen sertifikaya ~/.bash_profilebaşvurarak, daha fazla güncelleme gerektiğinde neyin (ve özellikle nerede) eklendiğini hatırlatır.
auxbuss

Bu benim için çalıştı. @dnlmzw yol benim için iyi oldu ama tabii ki bu sizin kurulumunuza bağlıdır. Teşekkürler!
theartofbeing

mücevher kaynaklarıma kendinden imzalı bir sertifika kullanan özel bir mücevher sunucusu URL'si eklemeye çalışırken benim için çalışmadı. OSX 10.11.6 + rbenv
sixty4bit

12

Hata ayıklama amaçları için başka bir seçenek.

Bunu hiçbir zaman üretim ortamında kullanmamaya dikkat edin, çünkü ilk etapta SSL kullanmanın yararlarını ortadan kaldıracaktır. Bunu yalnızca yerel kalkınma ortamınızda yapmak geçerlidir.

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

26
İndirilmiş: Evet, bu işe yarıyor, ancak geçerli bir CA paketi kurma ve sorunu gerçekten çözme engeli o kadar düşük ki, SSL güvenliğini neredeyse tamamen geçersiz kılan böyle bir çözüm, siz sürece sürece uygulanması gereken bir çözüm değil Sertifika Yetkilisi'nin tamamen erişilemediği bir ortamda (ve o zaman bile, her iki uç noktaya da erişilebilen bir yerel CA oluşturmalısınız).
yaauie

10
SSL korumasını neredeyse tamamen kaldırmadı, tamamen kaldırıyor. Bunu asla yapma.
drbrain

15
Hata ayıklama için yeterli
rickyduck

1
Bu durum artık 1.9'da uyarı
Ivan

2
Bu, gerçek İnternet üzerinden üretim çalışmaları için kötü bir çözümdür, ancak "SSL'yi hiç kullanamayabilirsiniz" diye kesinlikle doğru değildir. Tel üzerinden şifrelenen trafik net olarak trafikten daha iyidir. Evet, ortadaki adam saldırıları olasılığınız var, ancak bunlar ayakta dururken düz metin trafiğine kulak misafiri olmaktan ziyade ayağa kalkmak için en az bir çentik daha zor.
Mark Reed

10

Bir Ruby projesi üzerinde çalışırken de aynı sorunu yaşadım. Windows 7 64bit kullanıyorum.

Bunu şu şekilde çözdüm:

  1. Http://curl.haxx.se/ca/cacert.pem adresinden cacert.pem dosyasını indirme .
  2. Bu dosyayı C: /RubyCertificates/cacert.pem klasörüne kaydetti
  3. Ardından "SSL_CERT_FILE" ortam değişkenimi "C: \ RubyCertificates \ cacert.pem" olarak ayarlayın

Kaynak: https://gist.github.com/fnichol/867550


Windows olduğu için, backslahes ortam değişkeninin değerinde kullanılmalıdır.
Christian Baumann

rubygems ssl hatası düzelttikten sonra benim için "paket" düzeltmek için çalışan tek çözüm budur
DonBecker 23:16

7

Benim için çalışan en basit cevap şuydu

sudo apt-get install openssl ca-certificates

Ve işte !!!


1
Keşke bir kereden fazla oy verebilsem çünkü beni çok fazla kurtardın!
Stephen

1
@Stephen - Keşke senin de yapabilseydin :-). Bana çok zaman kazandırdı, bu yüzden buraya göndereceğimi düşündüm ve başka birine de yardımcı olabilir.
Pratik Bothra

7

Homebrew ile OS X 10.8.x:

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
Benim için de çalışıyor 10.9.
Sami Samhuri

1
Benim için sorun değil, OS X 10.9.1. Müthiş!
rogeriopradoj

Bu aptal sorunları düzeltmek için rastgele çözümler bulmanız gerektiğinde bir şey ciddi şekilde bozuldu. Tüm bu cevaplar tamamen farklı bir şey yapıyor ve hepsinin bir noktada insanlara yardım ettiği görülüyordu. O NE LAN?
sergserg

13
curl-ca-bundle demlendi
Fa11enAngel


4

Bu benim için çalıştı. Rvm ve demlemek kullanıyorsanız:

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

4

Bu sorunla karşılaştım ve önerilen düzeltme rvm osx-ssl-certs update allişe yaramadı, ancak OSX'te bir RVM kullanıcısıyım.

Benim için çalışan düzeltme, openssl'in en son sürümünü yeniden yüklüyordu:

brew update
brew remove openssl
brew install openssl


3

OSX çözümü:

en son rvm kararlı sürümünü yükle

rvm get stable

sertifikaları otomatik olarak çözmek için rvm komutunu kullanın

rvm osx-ssl-certs update all

1
Bunu denedim ve benim için işe yaramadı. İşte benim çözümüm: stackoverflow.com/a/16741712/62
Liron Yahdav

RVM üzerinden Ruby 2.0.0 yükledikten sonra benim için çalıştı.
Chris Peters

3

Rails uygulamanızı yerel olarak çalıştırıyorsanız, bu satırı application.rb dosyasının altına ekleyin.

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

Bundan sonra herhangi bir sorun olmadan uygulamayı kullanabilirsiniz. Buna kesmek diyebilirsiniz, ancak önerilmez. Yalnızca yerel olarak çalıştırmanız gerektiğinde kullanın


2

Özellikle Leopard'da bir sorun yaşıyorsanız, bunu yaptım.

Benim sertifika eski ve güncellenmesi gerekiyordu. Bunu indirdim:

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

Sonra burada Leopard'da bulunan sertifikamı değiştirdim:

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

Eriştiğiniz her şeyi yeniden yükleyin ve gitmek için iyi olmalısınız!


2

Talimatlar benim için işe yarayanlar için biraz farklı olduğundan, 2 sentimi eklediğimi düşündüm:

OS X Lion'dayım ve macports ve rvm kullanıyorum

Curl-ca-bundle'ı kurdum:

sudo port install curl-ca-bundle

Sonra omniauth yapılandırmamı şu şekilde ayarladım:

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

Yapabilirsin (ve muhtemelen gerekir) tüm CA Zoo (Forgo ca-bundle.crt) ve kullanımı hakkında Internet Authority G2 içinde :ssl => {:ca_path => "/share/curl/curl-ca-bundle.crt"}. Google'a bağlantıları onaylamak için gereken tek şey bu.
jww

2

/ Usr / local / etc / openssl içinde cert.pem'i gösteren sembolik bir bağınız varsa, bunu yapmaya çalışın:

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

Benim için işe yarayan cevapların bir kombinasyonudur, yani:

# 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

Birkaç gün boyunca sorun yaşadım ve hackleme yapıyordum. Bu bağlantı benim için son derece yararlı oldu. MAC OS X 9'da SSL'yi başarılı bir şekilde yükseltmeme yardımcı oldu.


1

Bazen MAC OSX'te her zaman rvm sorunu yoktur, .rvm'yi kaldırırsanız, sorun yine de (özellikle zaman makinesinden veri yedeklerken özellikle), bu şekilde deneyebilirsiniz.

1.brew update
2.brew install openssl

1

gem 'certified', '~> 1.0'Benim Gemfileve çalışan eklemek benim bundleiçin bu sorunu çözdü.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.