70 votes

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

Je veux me connecter au réseau sans fil de mon université en utilisant mon Nexus One. Lorsque je vais dans "Ajouter un réseau Wi-Fi" dans les paramètres sans fil, je saisis le SSID du réseau et sélectionne 802.1x Entreprise pour la sécurité et remplis toutes les informations requises.

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

Lorsque je clique sur la liste déroulante pour le certificat de l'autorité de certification, je n'ai rien dans la liste (juste N/A).

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

Où devrais-je mettre le certificat pour que le gestionnaire sans fil Android le reconnaisse. En d'autres termes, comment puis-je importer un certificat de l'autorité de certification afin qu'Android reconnaisse qu'il est sur le téléphone et l'affiche dans la liste déroulante des certificats de l'autorité de certification.

Merci pour toute aide,

Tomek

P.S. Mon téléphone n'est pas rooté

ÉDITION: Après avoir effectué quelques recherches, il semble que vous puissiez installer des certificats en allant dans les paramètres de votre téléphone > Localisation et sécurité > Installer depuis la carte SD

Malheureusement, il semble que la seule extension de fichier acceptée soit .p12. Il ne semble pas y avoir de moyen d'importer des fichiers .cer ou .pem (qui sont les seuls types de fichiers fournis avec les certificats Thawte) pour le moment.

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

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

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

1 votes

Je souhaite que cela reste ouvert. Cela m'a été très utile. Merci à tous sur cette page.

0 votes

Un certificat .crt fonctionne également très bien

1 votes

Sur un appareil HTC avec Android 2.3.5, j'ai dû changer l'extension du fichier de .pem en .crt. Après cela, j'ai pu réellement le localiser à partir de l'option Installer depuis la carte SD dans les paramètres de Sécurité. Il peut être placé à la racine de la carte SD ou dans le dossier Téléchargements.

18voto

Charles K Points 111

J'ai utilisé RealmB's Installateur de Certificat Android avec grand succès. Il vous suffit de télécharger votre fichier encodé PEM (.cer ou .pem) et ensuite de pointer le navigateur de votre téléphone vers le lien fourni. Pas besoin de clé privée.

0 votes

Le site lui-même indique si le téléchargement est un certificat valide ou non. Il m'a donné une erreur de certificat non valide. J'ai téléchargé celui avec les bonnes permissions de fichier sur ma machine Linux et cela a bien fonctionné.

3 votes

Les éventuelles implications en matière de sécurité de ce site doivent être soulignées avec le lien (ou, citez le site lui-même : Comment est la sécurité ? - Mauvaise, vous ne devriez uploader que des fichiers que vous estimez pouvant être consultés publiquement sans conséquences néfastes.).

0 votes

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

11voto

Dmitry Points 101

Premier : Android comprend uniquement le format binaire de CA et uniquement avec le format de fichier *.crt.
Deuxième : Android comprend uniquement les certificats utilisateur au format de fichier *.p12.

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

Si vous voyez quelque chose comme 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 Émetteur: C=UA, ST=

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

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

Ou demandez simplement à votre administrateur système.

Copiez à la fois CA.crt et usercert.p12 sur votre carte SD ou envoyez-le par e-mail (si vous avez un client e-mail configuré sur Android, les pièces jointes téléchargées sont généralement stockées dans le dossier Téléchargement, en fait cela n'a pas d'importance).

Allez dans Sécurité et cherchez une option comme celle-ci : installer le certificat depuis votre carte SD

Installez d'abord CA.crt, puis usercert.p12

Allez sur le wifi et créez une nouvelle connexion, choisissez 802.1x EAP whatever et sélectionnez vos certificats pour CA CA.crt et pour le certificat utilisateur usercert.p12 dans mon cas j'ai également saisi un nom d'utilisateur.

2 votes

À quiconque cela pourrait aider à l'avenir : je n'ai eu aucun problème à installer un certificat de format texte sur un SGS4 - mais seulement après l'avoir déplacé dans le dossier Téléchargements (Mes documents ne fonctionnerait pas) et aussi seulement avec l'option indiquée dans la question, pas en ouvrant le fichier CRT à partir d'un gestionnaire de fichiers, où Android prétendait que le type de fichier était inconnu (contrairement au Nexus 7, où cela fonctionnait comme ça).

0 votes

J'ai dû utiliser le certificat racine, pas le certificat du site lorsqu'il est enregistré depuis Chrome. À partir d'une page Chrome : F12 (console de développement), onglet Sécurité, Afficher le certificat, onglet Chemin de certification, cliquer sur le nœud racine le plus élevé, Afficher le certificat, onglet Détails, bouton "Copier dans un fichier...", choisir le format DER. L'ouverture depuis Google Drive m'a permis d'installer le certificat. Vérifiez qu'il apparaît sur le téléphone dans Paramètres, Sécurité, Certificats de confiance, Utilisateur.

7voto

FooLman Points 175

Pour d'autres personnes cherchant cette réponse qui ne peuvent pas utiliser la solution de realmB parce qu'ils ne peuvent pas accéder à internet sur leur téléphone.
J'ai simplement changé l'extension de fichier de mes certificats de .cer à .crt et tout a bien fonctionné! Merci aux utilisateurs de ce fil de discussion xda pour la solution.

5voto

http://abtevrythng.blogspot.com/2010/06/adding-cer-certificates-on-your-android.html

Montre comment y parvenir réellement. Ça a bien fonctionné pour moi. Essayez-le.

Dans cet article, la conversion de .cer en .pfx (ce dont vous avez besoin sur Android) est donnée. Une méthode simple est donnée grâce à laquelle vous pouvez convertir .cer en .pfx et l'utiliser pour vous connecter au réseau Wi-Fi. De plus, vous n'avez pas besoin de clé pour convertir .cer en .pfx!!!

1voto

jww Points 365

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

La documentation officielle d'Android se trouve sur Travailler avec des Certificats. Notez que le certificat doit être encodé en ASN.1/DER. Une fois l'encodage correct, assurez-vous simplement que l'extension est CRT ou CER. Si ce n'est pas le cas (comme si vous l'aviez nommé ca-cert.der), alors renommez-le (en ca-cert.crt).

Si vous avez un certificat encodé en PEM, convertissez-le en encodage ASN.1/DER en utilisant (selon les instructions de Dimtry):

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

Si cela vous intéresse, le Trust Store du système est gravé dans la ROM, donc vous ne pouvez vraiment pas le modifier. Lorsque vous modifiez le Trust Store, vous ajustez en réalité /data/misc/keychain et l'un des deux fichiers: cacerts-added et cacerts-removed. Consultez l'article de Nikolay Elenkov sur Implémentation du Trust Store ICS.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X