証明書をインストールできません


13

この証明書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エクスプローラー経由でデバイスにコピーするときに、どのように適切に設定すればよいでしょうか?


adbに精通している場合は、証明書をインストールするときにlogcat出力のコピーを提供できます。トーストをする直前にログが記録されているようです。grepcode.com/file/repository.grepcode.com/java/ext/...
モリソン・チャン

@MorrisonChang:それぞれのログ出力を追加しました。どのように解釈するか(この特定の状況では-異なる状況では例外は完全に明確になるでしょう)、むしろ問題を修正する方法がわかりません。
ユーザーのStgt

回答:


28

ちょうど同じ問題がありました。

へ行きますSettings> Security> Install from storage
証明書ファイルを見つけてインストールします。

編集:好みの
代わりに(たとえば、API-19エミュレータを使用するときに表示される)場合は、1つの追加手順が必要です。この場合、アクティビティはsdcardから証明書を選択する簡単な方法のないメニューとメニューのみを表示するためです。 私の回避策は、デスクトップのローカルWebサーバー(たとえば、 mongoose)に証明書を置くことでした。次に(エミュレーターで)ストックブラウザーを使用してWebディレクトリを開き、証明書をタップして(以下を参照)、を選択しました。ファイルがダウンロードされ、ダウンロードビューに表示され、正常に選択できるようになります。Install from storageInstall from SD cardRecentDownloads
Save link

リンクのスクリーンショットを保存


8

もう1つの注意点:[設定]> [セキュリティ]> [ Nexus 7、Android 5.0.2のストレージからインストール]を使用して証明書をインストールする場合、内部ストレージを介してファイルに移動する必要がありました。

内部ストレージ経由で移動する

ダウンロードのショートカットを使用してファイルを選択しようとして機能しませんでした


どうやってそれを説明しますか?つまり、どのようにして内部ストレージを介してファイルに移動しますか?
アレックスリポフ

@AlexLipovスクリーンショットを追加しました。
キナン

ありがとうございました!このgenymotion 5.0.0ネクサスデバイスで髪を引っ張っていました。
ディラン・ピアース

それでもPixelのAndroid Pでこれを行う必要がありました。ファイルを受け入れる前に、最上位のダウンロードを使用するのではなく、ピクセルに移動してからダウンロードに移動する必要がありました。
ジョナH.
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.