Githubの証明書問題をまっとうに解決する
github SSL certificate problem - A Life Less Ordinary と同じ問題に遭遇してしまったので、まっとうな解決策を探ってみたところ、無事に解決できたのだが、どうやら同じようなことをしているページが見つからなかったので書いておく。
error: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing https://github.com/......
- 問題はGithubのHTTPSで使われているSSL証明書を発行しているところ(CA)が変わったが、たまたまそのgitコマンドは Root CA のセットが古く、新しいCAの証明書が入っていなかったこと。
- したがって、根本的な解決策としては新しい Root CA のセットを用意して、gitがそれを参照するようにしてあげればいい。
まず、そういう Root CA のセットをとってくる。
curl http://curl.haxx.se/ca/cacert.pem -o ca-bundle.crt
あとはgitが参照する Root CA セットのファイル名をどこに置くかということになる。
git-config(1) によると、どうやら http.sslCAInfo でいいらしい。
ということで、たとえば
git config --global http.sslCAInfo /home/limit/ssl/ca-bundle.crt
みたいなことをするか、適当に書くなどして、~/.gitconfig は以下のようになる。
[http] sslCAInfo = /home/limit/ssl/ca-bundle.crt
と、ここまで書いておいて、実際やってるページをみつけた。 Github のプライベートリポジトリからcloneするときにSSLエラーがでた場合の対応策 - Goodpic