Android 4.3でWebサーバーの自己署名証明書をインストールしようとしています。SDカードのルートに.crtファイルがあります(実際にはスロットにSDカードがないためエミュレートされます)。
証明書をインストールするには、[設定]-> [全般]-> [セキュリティ]-> [クレデンシャルストレージ]-> [デバイスストレージからインストール]に移動します。
証明書の名前(ファイル名から.crt拡張子を引いたもの)を変更できるダイアログボックスが表示されます(ただし、変更はできません)。 「パッケージに含まれるもの:1つのユーザー証明書」を通知するダイアログの すべて正常に見えるので、「OK」をクリックします。ダイアログが消え、「[name] installed」というトーストメッセージがポップアップ表示されます。
しかし、すぐに「信頼された資格情報」に移動して「ユーザー」を選択すると、そこには何もありません!新しい証明書も「システム」の下にありませんが、そこには期待していません。 Webサイトでは、まだサイトの証明書が信頼されていないという警告が表示されます。再起動も試みましたが、違いはありません。
何が間違っていますか?エラーメッセージがまったくないのは役に立ちません。証明書の形式が間違っている可能性はありますか?サーバーのsslディレクトリにある.crtファイルを使用して、DER形式に変換しようとしました。
更新:Androidで証明書がp12形式である必要があることを読んだので、次のコマンドを使用してApache2証明書をp12に変換しました。
openssl pkcs12 -export -inkey server.key -in server.crt -out ~/server.p12
その後、上記の手順を繰り返し、同じ成功メッセージを受け取った後、ユーザー資格情報に証明書が表示されないまま進み、モバイルブラウザーから信頼できない証明書エラーが表示されます。