orangain flavor

じっくりコトコト煮込んだみかん2。知らないことを知りたい。

Mac OS X 10.9.2でGitHubにアクセスするとサーバー証明書のエラーが発生する場合の解決策

問題

Mavericks の最新のアップデート(10.9.2)をインストールした後、Google ChromeGitHubにアクセスした時に、SSLサーバー証明書のエラーが表示されるようになりました。

このように「実際の github.com に接続できない」と表示されます。

f:id:mi_kattun:20140301125547p:plain アドレスバーのアイコンをクリックして証明書を表示させると、以下のようにDigiCertによって署名されていることがわかります。

f:id:mi_kattun:20140301125615p:plain Bitbucketでも同じくエラーが表示されます。Bitbucketの証明書もDigiCertによるものです。

f:id:mi_kattun:20140301125558p:plain

Safariでも証明書のエラーが表示されました。 *1

f:id:mi_kattun:20140301125607p:plain ターミナルで、git cloneしたときにも以下のようにエラーが表示されます。

$ git clone https://github.com/rails/rails.git
Cloning into 'rails'...
error: SSL certificate problem: Invalid certificate chain while accessing 
https://github.com/rails/rails.git/info/refs?service=git-upload-pack
fatal: HTTP request failed

解決策

調べたところ、以下のページが見つかりました。 キーチェーンアクセスのログインの欄にある、DigiCertの証明書を削除すると直ったと書かれています。

osx - Can not clone any git repository from github - Super User

 fixed my problem by checking my Keychain (Application -> Utilities -> Keychain Access.app)

I figured out that I had a own Digicert Certificate in my loging Keychain. It looks like this was broken. I have removed it and after this everything works fine.

Now https://github.com has a green "button" in the url bar instead of an grey one. 

キーチェーンアクセスを確認してみると、確かに「ログイン」の欄にDigiCertの証明書があります。 f:id:mi_kattun:20140301125644p:plain

この「DigiCert High Assurance EV Root CA」を削除したところ、正常に表示されるようになりました。

注意:証明書の削除は間違って行うと、正常なWebサイトにアクセスした時にも警告が出るようになり、元に戻せません。自己責任で行ってください。

f:id:mi_kattun:20140301125624p:plain 証明書のツリーを見ると、一番上がオレンジ色のルート証明書になっていることがわかります。 f:id:mi_kattun:20140301125635p:plain

原因

原因はよくわかっていませんが、思い返すと2011年ごろにGitHubの証明書がエラーになるとかで、証明書を自分で追加したような気がします。

goto fail; goto fail;のバグが修正されたことで、以前自分で追加した証明書が不正だと判定されるようになったのかもしれません。

しかし、2011年の時点ではMavericksではなかったので、その時点では問題なかったはず。もう少し勉強しないと。。

*1:ちなみにFirefoxではエラーになることなく閲覧できました。