dev.hinaloe.net

AndroidにCA証明書がインストールできない件

CA証明書がインストールできない

OpenSSLを使っていわゆるオレオレCA認証局(自分用)を作ってAndroid(ICS以降)のセキュリティ→証明書のインストール をやろうとするんだけど何故かCA証明書としてインストールされない。

試しにクライアント証明書をインストールしてみるとすんなりいける。

何故なんだ…

中間証明書扱いされてる?

そういやWindowsでこの証明書をインストールしようとすると自動的に中間証明書としてインストールされる。

このまま続行するとインストール先が中間証明書になる。

このまま続行するとインストール先が中間証明書になる。

Install to Windows

そこで証明書ストアに信頼されたルート証明機関を指定してインストールしてやる。

これでSSLも使えるようになる

これでSSLも使えるようになる

こうやってインストールした証明書はどうやらエクスポートしてもCA証明書として扱われるらしい。

エクスポート

ではユーザー証明書マネージャー(certmgr.msc)を開いて証明書を選択、エクスポートしてみる。
cer_export_2
cer_export_4

cer_export_5

cer_export_6

cer_export_7

転送

とりあえず証明書をエクスポートしたら好みの方法でそれを端末の内蔵フラッシュに転送する。adb pushしてもいいしDropboxでもいい。保存先は/sdcard/または/sdcard/Download/に。

Dropboxなら拡張子をcrtにしておくと少し楽。

最初に示した方法で証明書をインストールする。

wpid-screenshot_2014-07-26-22-52-26.png

CA証明書‘と表示されるようになってる。名前を付けてOKでインストール。

Check!

設定→セキュリティ→信頼できる認証情報→ユーザーでインストールしたCAを確認できる。

確かに追加されている。

確かに追加されている。

そのCAで発行した証明書を使っているSSLページにアクセスしても警告が表示されなくなっているのが確認できるだろう。

とりあえず長らく困っていたことがすんなり出来るとは…

もしかしたらOpenSSLだけで出来るのかもしれないけどとりあえずGUIで簡単にやる方法でした。

こちらもオススメ

ブルートフォースアタック受けてました
→ 続きを読む
MondayInstaller v0.1 β版リリース
→ 続きを読む
chromeのwebアプリ
→ 続きを読む