この証明書をGoogle Nexus 7タブレットにインストールしようとしています。
証明書ファイルを(Win7x64から)内部ストレージにコピーし、ファイルマネージャーで開いてインストールしました。この手順は、以前の(現在は期限切れの)証明書のバージョン(新しい証明書をインストールする前にデバイスから削除したもの)で機能しました。
ただし、この新しい証明書の場合、次のメッセージが表示されます。
証明書ファイルを読み取れなかったため、インストールできませんでした。
同じファイルを、タブレットを接続したコンピューターのさまざまな証明書ストアに問題なくインストールできました(したがって、ダウンロードしたファイルは破損していません)。ファイルをタブレットに数回コピーし、常に同じ結果で再試行しました(したがって、コピーされたファイルもおそらく破損していません)。
タブレットには最初Android 4.4.4が搭載されていましたが、その後Android 5.0.2にアップグレードしました。両方のシステムで同じエラーメッセージが表示されます。
証明書を提供する責任のある管理者は、これまでこのようなレポートを受け取っていませんでした。また、証明書は、さまざまなタイプのAndroidデバイスで他の人に問題なくインストールされたようです。
ウェブ上で関連する多くの問題を見つけることができませんでした。エラーメッセージをグーグルで検索すると、そのメッセージを指定するローカライズリソースファイルがすぐに見つかりました(通常は、エラーメッセージに遭遇するユーザーの頻度に関して悪い兆候です)。最も有望なリンクはまだ行き止まりのようです:
- エラーメッセージはフォーラムの投稿で言及されていますが、それに対する唯一の反応はうーん...どういうことか本当にわからないようです。私はそれを調べます(2013年12月から)。私はその問題のフォローアップを見つけることができず、スレッドの残りの部分は無関係なおしゃべりのようです。
- 2014年3月から同じメッセージ(「Android Moto G」と呼ばれますが)を引用した公開SOの質問がありますが、これまで誰も答えを提供していません。
したがって、私の質問は次のとおりです。
- エラーメッセージは実際にどの問題を指し示していますか?
- 証明書ファイルをインストールするにはどうすればよいですか?
編集:これは、デバイスのファイルマネージャーアプリで証明書を開こうとすると何が起こるかを示すログ出力です。
I/ActivityManager( 540): START u0 {act=android.intent.action.VIEW dat=file:///storage/emulated/0/Download/infcacert.crt typ=application/x-x509-ca-cert flg=0x10000000 cmp=com.android.certinstaller/.CertInstallerMain} from uid 10083 on display 0
E/ActivityManager( 540): Invalid thumbnail dimensions: 720x720
I/ActivityManager( 540): Start proc com.android.certinstaller for activity com.android.certinstaller/.CertInstallerMain: pid=11644 uid=10008 gids={50008, 9997} abi=armeabi-v7a
E/CertInstaller(11644): Failed to read certificate: java.io.FileNotFoundException: /storage/emulated/0/Download/infcacert.crt: open failed: EACCES (Permission denied)
D/OpenGLRenderer(11644): Render dirty regions requested: true
D/Atlas (11644): Validating map...
I/Adreno-EGL(11644): <qeglDrvAPI_eglInitialize:410>: QUALCOMM Build: 10/28/14, c33033c, Ia6306ec328
I/OpenGLRenderer(11644): Initialized EGL, version 1.4
D/OpenGLRenderer(11644): Enabling debug mode 0
I/ActivityManager( 540): Displayed com.android.certinstaller/.CertInstallerMain: +362ms (total +453ms)
V/RenderScript(11644): Application requested CPU execution
V/RenderScript(11644): 0xa330c400 Launching thread(s), CPUs 4
D/TaskPersister( 540): removeObsoleteFile: deleting file=7_task.xml
D/TaskPersister( 540): removeObsoleteFile: deleting file=7_task_thumbnail.png
その重要な部分はjava.io.FileNotFoundException:/storage/emulated/0/Download/infcacert.crt:open failed:EACCES(Permission denied)です。私はこのメッセージを理解していません-証明書ファイルで今やったのとまったく同じ方法で他のファイルをデバイスに正常にコピーして開きました。さらに、これらのファイルのアクセス許可をWindowsエクスプローラー経由でデバイスにコピーするときに、どのように適切に設定すればよいでしょうか?