原因
Berkshelf とかで SSL に接続できない場合に発生。
Windows の Chef Client(に組み込まれている Ruby)に
Berkshelf をインストールしたときにおきた。
- curlなど で使う CA用証明書がない
- 証明書があっても SSL_CERT_FILE が参照できていない
対策
SSL_CERT_FILE に証明書のパスを指定する。
$ export SSL_CERT_FILE=/usr/lib/ruby/1.9.1/rubygems/ssl_certs/ca_bundle.pem
存在しない場合は、以下からダウンロード。
$ curl -O http://curl.haxx.se/ca/cacert.pem
$ mkdir /etc/certs/cacert.pem
$ export SSL_CERT_FILE=/etc/certs/cacert.pem
### 上記でうまくいかない場合
(2015/1/10 追記)
https://github.com/bagder/ca-bundle/blob/e9175fec5d0c4d42de24ed6d84a06d504d5e5a09/ca-bundle.crt
をダウンロードし任意のフォルダに保存
コントロール パネル\システムとセキュリティ\システム → システムの詳細設定 → 環境変数
変数名: SSL_CERT_FILE
変数値: D:\work\chef-repo\curl-ca-bundle.crt
http://curl.haxx.se/docs/caextract.html RSA-1024 removed を参照
参照