AndroidにCA証明書がインストールできない件
CA証明書がインストールできない
OpenSSLを使っていわゆるオレオレCA認証局(自分用)を作ってAndroid(ICS以降)のセキュリティ→証明書のインストール をやろうとするんだけど何故かCA証明書としてインストールされない。
試しにクライアント証明書をインストールしてみるとすんなりいける。
何故なんだ…
中間証明書扱いされてる?
そういやWindowsでこの証明書をインストールしようとすると自動的に中間証明書としてインストールされる。
Install to Windows
そこで証明書ストアに信頼されたルート証明機関を指定してインストールしてやる。
こうやってインストールした証明書はどうやらエクスポートしてもCA証明書として扱われるらしい。
エクスポート
ではユーザー証明書マネージャー(certmgr.msc)を開いて証明書を選択、エクスポートしてみる。
転送
とりあえず証明書をエクスポートしたら好みの方法でそれを端末の内蔵フラッシュに転送する。adb push
してもいいしDropboxでもいい。保存先は/sdcard/
または/sdcard/Download/
に。
Dropboxなら拡張子をcrtにしておくと少し楽。
最初に示した方法で証明書をインストールする。
‘CA証明書‘と表示されるようになってる。名前を付けてOKでインストール。
Check!
設定→セキュリティ→信頼できる認証情報→ユーザーでインストールしたCAを確認できる。
そのCAで発行した証明書を使っているSSLページにアクセスしても警告が表示されなくなっているのが確認できるだろう。
とりあえず長らく困っていたことがすんなり出来るとは…
もしかしたらOpenSSLだけで出来るのかもしれないけどとりあえずGUIで簡単にやる方法でした。