しょ〜うぃん広場

おもにTech系なブログ、ときどき個人的なブログ

MacでSSL証明書を復元する

すみません、タイトルは誤りです。

自分が困ったときに「Mac SSL証明書 復元」とかググったので、タイトルこの方がみんな来るかなーとか(笑

あれですよね、OS X 10.9.2になってからGitHubにアクセスするときにSSLの証明書がどーとかこーとかで、上手くアクセスできないから、あるSSL証明書を削除しましょう! みたいなことがあるじゃないですか。

[参考]http://orangain.hatenablog.com/entry/2014/03/01/mavericks-ssl-certificate

で、ぼくもそれと同じことをやるんですけど、今回のこの作業をやるのが3回目で、

「あぁ、またこれか、"DigiCert ..."とかいうやつ消せばいいんでしょ」

と思って、一番最初に見えた"DigiCert"なんとかってやつを消しちゃったんですよ。

そうしたら、本当は必要だったSSL証明書を削除してしまったみたいで、 もちろんGitHubは見れないままだし、Twitterとかその他サイトも見れなくなってしまって…

あ、これ間違ったわ。復元しよう!と思ったんですけど、

上の参考をページ見るとこう書いてあるんですよね。

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

はい、事実です。Keychainの初期化とかしても証明書は消えたまま… ググっても解決方法出てこない。(他にこんなバカな事する人いないのかな…) もしかして、、、OSクリーンインストール…(泣)

とか思ったんですけど、そんな事する必要ありませんでした。 というお話。

前置き長いですね。

 

結論

DigiCertの証明書を消してしまったなら http://www.digicert.ne.jp/howto/basis/digicert-root-certificates.html からダウンロードしろ!

 

SSLの仕組みを理解しないといけませんでした。

そもそももとからMacに入っているSSLサーバ証明書はなんのために使われているのか。 (以下間違っていたらすみません)

SSL通信するサイトにアクセスするときに、そのサーバが持っているSSLサーバ証明書が本当に信用できる証明書かどうかをまず判断するようです。 そこで、その判断に使われるのが、最初からOSに入っている証明書。(正式名称:クライアント証明書)

クライアント証明書によって「あぁ、このサーバの証明書信用できるよ!」ってわかると、そこのサーバーから公開鍵をもらって、セキュアな通信をするようですね。

 

それで、そのクライアント証明書はSSLサーバ証明書を発行している機関からダウンロードできるみたいです。 今回僕はDigiCertのクライアント証明書を消してしまったので、公式HPからダウンロードしてきて、Macに適用(インストール?)しました。

インストールするには、ダウンロードしてきたファイルをダブルクリックするだけです。 「証明書を追加しますか?」 みたいなことを聞かれるだけなので、Yes!したらすぐに完了しました。

おしまい。

 

いやぁ、あの時本当に焦ったけど。直ってよかった。