Impossible d'installer le certificat

13

J'essaie d'installer ce certificat sur une tablette Google Nexus 7 .

J'ai copié le fichier de certificat (de Win7x64) sur sa mémoire interne et l'ai ouvert dans un gestionnaire de fichiers pour l'installer. Cette procédure a fonctionné pour la version précédente (maintenant expirée) du certificat (que j'ai supprimé sur l'appareil avant d'essayer d'installer le nouveau).

Cependant, pour ce nouveau certificat, le message suivant apparaît:

Impossible d'installer car le fichier de certificat n'a pas pu être lu.

Le même fichier peut être installé sans problème dans divers magasins de certificats sur l'ordinateur auquel j'ai connecté la tablette (par conséquent, le fichier téléchargé n'est pas corrompu). J'ai copié le fichier plusieurs fois sur la tablette et réessayé, toujours avec le même résultat (par conséquent, le fichier copié n'est probablement pas corrompu non plus).

La tablette avait d'abord Android 4.4.4, puis je suis passé à Android 5.0.2. J'obtiens le même message d'erreur sur les deux systèmes.

Les administrateurs chargés de fournir le certificat n'avaient pas reçu de tels rapports jusqu'à présent, et le certificat semblait s'installer sans problème pour d'autres personnes sur des appareils Android de différents types.

Je n'ai pas pu trouver de nombreux problèmes liés sur le Web; googler pour le message d'erreur a rapidement conduit aux fichiers de ressources de localisation qui spécifient ce message (généralement un mauvais signe en ce qui concerne la fréquence des utilisateurs à rencontrer un message d'erreur). Les liens les plus prometteurs semblent toujours être des impasses:

  • Le message d'erreur est mentionné dans un article du Forum , mais la seule réaction semble être hmm ... je ne sais pas trop ce que c'est. J'examinerai cependant (à partir de décembre 2013). Je n'ai trouvé aucune suite à ce problème, et le reste du fil semble être un bavardage sans rapport.
  • Il y a une question SO ouverte citant le même message (bien que faisant référence à quelque chose appelé "Android Moto G") de mars 2014, mais personne n'a fourni de réponse jusqu'à présent.

Par conséquent, mes questions sont les suivantes:

  • À quel problème le message d'erreur pointe-t-il réellement?
  • Comment puis-je installer le fichier de certificat?

EDIT: Voici la sortie du journal de ce qui se passe lorsque j'essaie d'ouvrir le certificat dans une application de gestion de fichiers sur l'appareil:

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

La partie cruciale semble être java.io.FileNotFoundException: /storage/emulated/0/Download/infcacert.crt: open a échoué: EACCES (autorisation refusée) . Je ne comprends pas ce message - j'ai réussi à copier et à ouvrir d'autres fichiers sur l'appareil de la même manière que je l'ai fait maintenant avec le fichier de certificat. De plus, comment pourrais-je même définir ces autorisations de fichier de manière appropriée lors de leur copie sur l'appareil via l'Explorateur Windows?

Utilisateur de Stgt
la source
Si vous connaissez adb, pouvez-vous fournir une copie de la sortie logcat lorsque vous essayez d'installer le certificat. Comme il semble y avoir une journalisation juste avant de porter le toast. grepcode.com/file/repository.grepcode.com/java/ext/…
Morrison Chang
@MorrisonChang: J'ai ajouté la sortie de journal respective. Je ne sais pas comment l'interpréter (dans cette situation particulière - dans des circonstances différentes, l'exception serait tout à fait claire), ou plutôt, comment résoudre le problème.
Utilisateur de Stgt le

Réponses:

28

Juste eu le même problème.

Aller à Settings> Security> Install from storage.
Localisez votre fichier de certificat et installez-le.

Edit:
si au lieu deInstall from storagepréférence vous avezInstall from SD card(c'est ce qui est affiché lorsque vous utilisez l'émulateur API-19 par exemple), alors une étape supplémentaire est requise. Parce que dans ce cas, l'activité affiche uniquementRecentet lesDownloadsmenus sans moyen simple de choisir le certificat de la carte SD.
La solution de contournement pour moi a été de mettre le certificat sur le serveur Web local de mon bureau ( mangouste par exemple). Ensuite (sur l'émulateur), j'ai utilisé le navigateur de stock pour ouvrir le répertoire Web, tapé sur le certificat (voir ci-dessous) et sélectionnéSave link. Le fichier sera téléchargé et affiché dans la vue Téléchargements et vous pourrez le sélectionner avec succès.

enregistrer la capture d'écran du lien

Alex Lipov
la source
9

Autre mise en garde: lors de l'installation d'un certificat via Paramètres> Sécurité> Installer à partir du stockage sur mon Nexus 7, Android 5.0.2, j'ai dû naviguer vers le fichier via le stockage interne :

Naviguer via le stockage interne

Essayer de sélectionner le fichier via le raccourci vers Téléchargements n'a pas fonctionné.

kynan
la source
Pourriez-vous expliquer comment faites-vous cela? Je veux dire, comment accédez-vous à un fichier via le stockage interne?
Alex Lipov
@AlexLipov J'ai ajouté une capture d'écran, j'espère que cela clarifie.
kynan
MERCI! Je tirais mes cheveux sur cet appareil nexus genymotion 5.0.0.
Dylan Pierce
Il fallait encore le faire dans Android P sur mon Pixel. J'ai dû aller à Pixel, puis accédez à Téléchargements, plutôt que d'utiliser les téléchargements de niveau supérieur, avant d'accepter les fichiers.
Jonah H.