[Ruby] Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

何がトリガーになったのか分からないが、bundle install 時に SSL エラーが出たので対応しました。

まず以下を実行してみる。

% brew update
% brew upgrade
% gem update --system
Latest version currently installed. Aborting.

特に変化なし。
SSL証明書の場所を調べられるそう。

% ruby -ropenssl -e 'puts OpenSSL::X509::DEFAULT_CERT_FILE'
/usr/local/etc/openssl/cert.pem
% ls /usr/local/etc/openssl/
certs/       misc/        openssl.cnf  private/

なにか見覚えがある

% brew install curl-ca-bundle
==> Downloading https://downloads.sourceforge.net/project/machomebrew/mirror/cur
Already downloaded: /Library/Caches/Homebrew/curl-ca-bundle-1.87.tar.bz2
==> Caveats
To use these certificates with OpenSSL:
  export SSL_CERT_FILE=/usr/local/opt/curl-ca-bundle/share/ca-bundle.crt
==> Summary
/usr/local/Cellar/curl-ca-bundle/1.87: 2 files, 252K, built in 2 seconds
% cp /usr/local/Cellar/curl-ca-bundle/1.87/share/ca-bundle.crt /usr/local/etc/openssl/cert.pem
% ls /usr/local/etc/openssl/
cert.pem     certs/       misc/        openssl.cnf  private/

解決しましたが、いろいろおちつかない。