Comment importer des certificats CA sur un téléphone Android?


59

Je souhaite me connecter au réseau sans fil de mon université à l'aide de mon Nexus One. Lorsque je clique sur "Ajouter un réseau Wi-Fi" dans les paramètres sans fil, je renseigne le SSID du réseau, puis je sélectionne 802.1x Enterprise pour la sécurité et je complète le tout.

Le problème est que le sans fil de notre université utilise le certificat Thawte Premium Server CA pour la certification.

Lorsque je clique sur la liste déroulante du certificat de l'autorité de certification, rien ne figure dans la liste (seulement N / A).

Maintenant, j'ai le certificat (Thawte Premium Server CA.pem) et je l'ai transféré sur ma carte SD, mais il ne semble pas qu'Android le détecte automatiquement.

Où devrais-je placer le certificat afin que le gestionnaire sans fil Android le reconnaisse? En d'autres termes, comment importer un certificat de CA afin qu'Android sache qu'il se trouve sur le téléphone et l'affiche dans la liste déroulante Certificat de CA.

Merci pour toute aide,

Tomek

PS Mon téléphone n'est pas enraciné

EDIT : Après quelques recherches, il semble que vous puissiez installer des certificats en accédant aux paramètres de votre téléphone> Localisation et sécurité> Installer depuis une carte SD.

Malheureusement, il semble que la seule extension de fichier acceptée est .p12. Il ne semble pas qu'il soit possible d'importer des fichiers .cer ou .pem (les deux seuls fichiers livrés avec les certificats Thawte) pour le moment.

Il semble que vous puissiez utiliser un convertisseur pour convertir vos fichiers .cer ou .pem en fichiers .p12, mais un fichier de clé est nécessaire.

https://www.sslshopper.com/ssl-converter.html

Je ne sais pas où obtenir ce fichier de clé pour les certificats Thawte.


1
Je souhaite que ce ne soit pas fermé. Cela m'a été très utile. Merci à toutes les personnes présentes sur cette page.
Ricket

un certificat .crt fonctionne également très bien
Lie Ryan

1
Sur un appareil HTC avec Android 2.3.5, je devais changer l'extension de fichier de .pemà .crt. Après cela, je pouvais réellement le localiser à partir de l' Install from SD cardoption dans les paramètres de sécurité . Il peut être placé à la racine de la carte SD ou dans le Downloadsdossier.
JJD

Openssl devrait également être capable de convertir entre différents formats de certificats.
Snaut

Réponses:


16

J'ai utilisé le programme d'installation de certificats Android de RealmB avec un grand succès. Vous téléchargez simplement votre fichier encodé PEM (.cer ou .pem), puis vous dirigez le navigateur de votre téléphone sur le lien fourni. Pas besoin de clé privée.


Ce site lui-même indique si le téléchargement est un certificat valide ou non. Cela m'a donné une erreur de certificat invalide. J'ai téléchargé celui avec les permissions de fichiers correctes sur ma machine Linux et cela a très bien fonctionné.
so_mv

1
Les implications possibles de ce site pour la sécurité doivent être signalées avec le lien (ou, citez ce site lui-même: comment est la sécurité? - Bad, vous ne devez télécharger que des fichiers qui, à votre avis, peuvent être visionnés publiquement sans aucun effet secondaire. ).
OU Mapper

Cela ne fonctionne plus :( Échec de l'
envoi

6

Premièrement: Android ne comprend que le format binaire de CA et uniquement avec le format de fichier * .crt.
Deuxièmement: Android ne comprend que les certificats utilisateur au format de fichier * .p12.

Vous pouvez donc vérifier si votre fichier CA est binaire ou texte très simple: ouvrez-le avec n’importe quel éditeur de texte ^

S'il y a quelque chose comme ça 0‚ i0‚ Т , alors c'est binaire.

Si vous voyez quelque chose comme

Certificat: Données: Version: 3 (0x2) Numéro de série: 96: 0e: 45: 58: 68: 9a: bf: 00 Algorithme de signature: sha1WithRSAEncryption Emetteur: C = UA, ST =

Alors c'est du texte. Il est très simple de le convertir en binaire vous-même dans * nix:

openssl x509 -inform PEM -outform DER -in CA.pem -out CA.crt

Ou demandez simplement à votre administrateur système.

Copiez CA.crt et usercert.p12 sur votre carte SD ou envoyez-la par courrier électronique (si vous avez un client de messagerie configuré sur Android, les pièces jointes généralement téléchargées sont stockées dans le dossier de téléchargement, peu importe en réalité).

Allez dans Sécurité et trouvez une option comme ceci: installer un certificat depuis votre carte SD

Commencez par installer CA.crt, puis par usercert.p12.

Allez au wifi et établissez une nouvelle connexion, choisissez 802.1x EAP et sélectionnez vos certificats pour CA CA.crt et pour le certificat utilisateur usercert.p12. Dans mon cas, j’ai également entré le nom d’utilisateur.


2
Cela pourrait aider à l'avenir: je n'ai eu aucun problème à installer un certificat au format texte sur un SGS4 - mais seulement après l'avoir déplacé dans le dossier Téléchargements ( Mes documents ne suffisent pas) et uniquement avec l'option indiquée dans le question, pas en ouvrant le fichier CRT à partir d’un gestionnaire de fichiers, où Android affirmait que le type de fichier était inconnu (contrairement à Nexus 7, où il fonctionnait de la sorte).
OU Mapper

Je devais utiliser le certificat racine, pas le certificat de site lors de l'enregistrement de Chrome. Depuis une page chrome: F12 (console de développement), onglet Sécurité, Afficher le certificat, onglet Chemin de certification, cliquez sur le nœud racine le plus haut, Afficher le certificat, onglet Détails, bouton "Copier dans un fichier ...", choisissez le format DER. Ouverture de google drive me laisse installer le cert. Vérifiez qu'il apparaît sur le téléphone dans Paramètres, Sécurité, Informations d'identification approuvées, Utilisateur.
Curtis Yallop


5

Pour les autres personnes à la recherche de cette réponse qui ne peuvent pas utiliser la solution de realmB car elles ne peuvent pas accéder à Internet depuis leur téléphone.
Je viens de modifier l'extension de fichier de mes certificats de .cerpour .crtet tout a bien fonctionné! Merci aux utilisateurs de ce fil xda pour la solution.


0

C'est exactement la solution. Android accepte uniquement les certificats en "mode binaire". Si vous avez un certificat en mode Texte, qui est le format de certificat le plus courant, convertissez-le simplement au format "DER Binary". Après cela, placez le certificat dans le "dossier de téléchargement du périphérique Android et utilisez le menu" Installer à partir de la carte SD "pour installer le certificat.

Fonctionne pour Samsung Galaxy, téléphone Sony Xperia, HTC Phone Fonctionne pour Android version 3.x et 4.x

Olivier


0

Comment importer des certificats CA sur un téléphone Android?

La documentation officielle d'Android peut être consultée sur Work with Certificates . Notez que le certificat doit être codé ASN.1 / DER. Une fois que l'encodage est correct, assurez-vous que l'extension est CRT ou CER. Si ce n'est pas le cas (comme vous l'avez nommé ca-cert.der), renommez-le (en ca-cert.crt).

Si vous avez un certificat codé PEM, convertissez-le en codage ASN.1 / DER en utilisant (conformément aux instructions de Dimtry):

openssl x509 -in ca-cert.pem -inform PEM -outform DER -out ca-cert.crt

Si cela vous intéresse, le système Trust Store est gravé dans la ROM. Vous ne pouvez donc pas le modifier. Lorsque vous modifiez le Trust Store, vous modifiez réellement l' /data/misc/keychainun des deux fichiers: cacerts-addedet cacerts-removed. Voir Implémentation ICS Trust Store de Nikolay Elenkov .


0

J'ai réussi à me connecter à mon réseau universitaire en suivant les étapes suivantes:

  1. A demandé à l'université sur le certificat d'utilisation, dans mon cas, DigicertCA.
  2. Google, téléchargez-le (je l'ai enregistré sur mon compte Dropbox), enregistrez-le dans le dossier de téléchargement du téléphone (dans mon cas, le Samsung Galaxy S8).
  3. Sur le téléphone: allez dans Paramètres-> Verrouiller l'écran et la sécurité-> Autres paramètres de sécurité-> Installer à partir du stockage du périphérique (Installer le certificat à partir du stockage) - si le certificat est téléchargé sur le téléphone (le dossier Téléchargements, dans mon cas, il est reconnu et apparaît pour sélection).
  4. Redémarrez le téléphone.
  5. Lors de la configuration du réseau, sélectionnez Certificat dans une autorité de certification Don't validate after installed on phone.

Dans mon cas, cela a fonctionné, espérons que cela aide.


-1

Vous pouvez accéder à votre certificat depuis la carte SD avec le type MIME correct à installer à l'aide de TJWS (édition Android). Vous n'avez donc pas besoin de télécharger votre certificat sur un site Web.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.