StackOverflowから:Androidデバイスに信頼できるCA証明書をインストールする方法は?
これに対する答えを見つけるために多くの時間を費やしました(StartSSL証明書を見るにはAndroidが必要です)。結論:Android 2.1および2.2では、証明書をインポートできますが、WiFiおよびVPNでのみ使用できます。信頼されたルート証明書のリストを更新するためのユーザーインターフェイスはありませんが、その機能の追加については議論があります。cacerts.bksファイルを手動で更新および置換するための信頼できる回避策があるかどうかは不明です。
詳細およびリンク:http://www.mcbsys.com/techblog/2010/12/android-certificates/。その投稿で、Androidバグ11231へのリンクを参照してください。投票とクエリをそのバグに追加できます。
11231は2011年11月に閉鎖され、Android 4.0 ICSのステータスはリリースされました。
リリース済みステータスに関連付けられている注意事項は次のとおりです。
ICSは、この問題のすべてではないにしても、ほとんどの項目を試行します。何かを見逃した場合は、ギャップに対処するために、より具体的な問題を開きます。
以下の詳細については、後により正式なブログ投稿を予定しています。以下を試してフィードバックを送りたい場合は、Android 4.0 SDKに以下がすべて表示されるはずです。
設定の変更:
- システム認証局(CA)が[設定]> [セキュリティ]> [信頼できる認証情報]に表示されるようになりました。
- システムCAを無効化および再有効化できるようになりました
- ユーザーは、[設定]> [セキュリティ]から独自のCAをインストールできます(ブラウザを介したり、メールの添付ファイルから開くなどの他のメカニズムも同様です)。
- ユーザーCAは、[設定]> [セキュリティ]> [信頼できる資格情報]で表示および削除できます
- 資格情報の保存用に個別の8文字のPINの代わりに、ロック画面を介してアクセスが制御されるようになりました
新しいKeyChain API
- KeyChain.createInstallIntentを使用すると、アプリケーションが資格情報のインストールを要求できるようになり、基本的に、設定でインストールを要求するために使用されるインターフェースが公開されます。ユーザーは、以前と同様にインストール要求を確認する必要があります。
- KeyChain.choosePrivateKeyAlias / getPrivateKey / getCertificateChainを使用すると、アプリケーションは、アプリケーションで使用する秘密鍵とそれに関連付けられた証明書を要求できます。一般的な使用例は、httpsを使用したクライアント証明書認証です。
Eメール
- 電子メールは、KeyChain APIを使用して、Exchangeアカウントのクライアント証明書認証を許可するようになりました
ブラウザ
- ブラウザがKeyChainを使用して、サーバーが認証のために証明書を要求すると、クライアント証明書の入力を求めます。
2014年3月に、ユーザーが独自のCA証明書をインストールできるようにする拡張要求が作成されました。
多くのユーザー(企業を含む)は、SSL / TLSに自己署名証明書を使用します。それは、支払いを望まないか、他の企業を信頼せず、自分でそれを行いたいためです(実際、理由はありません)匿名のインターネットユーザーがサーバーを信頼する必要がない場合に証明書を購入します)。
現時点では、AndroidにカスタムCA証明書をインストールすることは可能ですが、クライアント側の証明書を対象とする「ユーザー証明書」として検出されます。その結果、これらの証明書はGUIで「ユーザー証明書」として表示され、Android 4.4以降、ひどい「ネットワークが監視される可能性があります」が実装されました。