rbenv + ruby2.1の環境で,berkshelfでクックブックを取得しようとしたところ、表題のエラーが。内容は、証明書の検証がうまくいっていないというもの。原因は、検証に利用するCA証明書の指定ががうまくいっていないことが原因。
参考:http://d.hatena.ne.jp/riocampos+tech/20140408/ruby_reinstall_caused_by_openssl_vulnerability
やったこと
#opensslアップデート
$brew update
$brew upgrade openssl
$brew link openssl --force
#rbenvのrubyを再インストール
$env CONFIGURE_OPTS="--with-readline-dir=`brew --prefix readline` --with-openssl-dir=`brew --prefix openssl`" rbenv install -f 2.1.2
#バージョン指定
$rbenv local 2.1.2
#rubyで読み込むCA証明書のパス確認
$ruby -ropenssl -e "p OpenSSL::X509::DEFAULT_CERT_FILE"
# => "/usr/local/etc/openssl/cert.pem"
#最新のCA証明書を取得し、上記パスに保存
#参考http://railsapps.github.io/openssl-certificate-verify-failed.html
$curl -O http://curl.haxx.se/ca/cacert.pem
$sudo mv cacert.pem /usr/local/etc/openssl/cert.pem
#環境変数SSL_CERT_FILEの設定
$echo "export SSL_CERT_FILE=/usr/local/etc/openssl/cert.pem" >> ~/.bash_profile
#設定読み込み
$source ~/.bash_profile
#確認
$env | grep SSL_CERT_FILE
SSL_CERT_FILE=/usr/local/etc/openssl/cert.pem