Comment installer un certificat utilisateur?

21

J'ai mon propre certificat racine qui signe les certificats utilisateur.

J'ai un site qui ne vous autorisera qu'avec un certificat d'utilisateur signé par le root ca.

J'ai réussi à faire fonctionner ce site dans Ios et Windows, mais je ne peux tout simplement pas le faire fonctionner à partir d'Android (4.2.2)

J'ai essayé de nombreuses méthodes différentes pour importer le certificat, y compris la conversion entre les formats - j'arrive à le reconnaître et à "l'installer", mais il ne semble jamais réellement être installé ou visible n'importe où (vérifié sous Informations d'identification fiables> utilisateur).

J'ai lu ici et les seules solutions semblent impliquer de télécharger / modifier des fichiers et de re-uploader puis de redémarrer - ou d'avoir modifié le firmware / similaire .... Je veux vraiment une façon prise en charge de le faire et je ne veux pas vraiment envisager un hack car j'ai besoin d'une solution évolutive.

William Hilsum
la source
Bienvenue aux passionnés d'Android! Avez-vous eu l'occasion de voir comment installer un certificat Web sur un appareil Android ? Bien que la question soit ancienne, la première réponse est toujours valable pour Android 4.4.
dotVezz
Salut, Oui je l'ai fait ... sur un appareil HTC, il me demande si je veux l'utiliser comme "VPN ou (je ne me souviens pas)" ou "Certificat sans fil", puis il dit qu'il est installé mais ne fait rien .. .. Sur un téléphone Samsung, je n'ai aucune option après l'installation en disant qu'il a été installé et puis, rien ne se passe.
William Hilsum
@dotVezz Cette question concerne l'installation d'un certificat de serveur Web. M. Hilsum demande comment utiliser un certificat client pour s'authentifier auprès d' un serveur.
Dan Hulme
Que se passe-t-il lorsque vous essayez de visiter le site? Dans Chrome> = 27.0.1453.49, il devrait vous inviter à sélectionner le certificat lorsque le serveur Web demande cette méthode d'authentification. Firefox ne prend pas cela en charge.
Dan Hulme
1
@Dave Vous devez poser une nouvelle question pour voir si quelqu'un le sait. L'ajout d'une question dans les commentaires signifie que la plupart des personnes qui peuvent répondre ne la verront pas.
Dan Hulme

Réponses:

2

Depuis StackOverflow: Comment installer un certificat CA de confiance sur un appareil Android?

J'ai passé beaucoup de temps à essayer de trouver une réponse à cela (j'ai besoin d'Android pour voir les certificats StartSSL). Conclusion: Android 2.1 et 2.2 vous permettent d'importer des certificats, mais uniquement pour une utilisation avec WiFi et VPN. Il n'y a pas d'interface utilisateur pour mettre à jour la liste des certificats racine approuvés, mais il est question d'ajouter cette fonctionnalité. Il n'est pas clair s'il existe une solution de contournement fiable pour mettre à jour et remplacer manuellement le fichier cacerts.bks.

Détails et liens: http://www.mcbsys.com/techblog/2010/12/android-certificates/ . Dans ce post, consultez le lien vers le bogue Android 11231 - vous voudrez peut-être ajouter votre vote et votre requête à ce bogue.

Le 11231 a été fermé en novembre 2011 et le statut a été publié pour Android 4.0 ICS.

Voici les notes associées au statut Validé :

ICS tente la plupart sinon tous les éléments de ce problème. Si j'ai raté quelque chose, j'ouvrirai des questions plus spécifiques pour combler les lacunes.

Quelques détails ci-dessous, je prévois un article de blog plus formel plus tard. Les éléments suivants devraient tous être visibles dans le SDK Android 4.0 si vous souhaitez les essayer et donner votre avis.

Changements dans les paramètres:

  • les autorités de certification du système (AC) sont désormais visibles dans Paramètres> Sécurité> Informations d'identification sécurisées.
  • Les autorités de certification système peuvent désormais être désactivées et réactivées
  • les utilisateurs peuvent installer leurs propres autorités de certification à partir de Paramètres> Sécurité (ainsi que d'autres mécanismes tels que via un navigateur ou en ouvrant à partir d'une pièce jointe à un e-mail.
  • les autorités de certification des utilisateurs peuvent être affichées et supprimées dans Paramètres> Sécurité> Informations d'identification sécurisées
  • au lieu d'un code PIN distinct à 8 caractères pour le stockage des informations d'identification, l'accès est désormais contrôlé via l'écran de verrouillage

Nouvelle API KeyChain

  • KeyChain.createInstallIntent permet aux applications de demander l'installation des informations d'identification dans, rendant fondamentalement publique l'interface utilisée par les paramètres pour demander l'installation. les utilisateurs doivent confirmer les demandes d'installation comme précédemment.
  • KeyChain.choosePrivateKeyAlias ​​/ getPrivateKey / getCertificateChain permet aux applications de demander des clés privées et leurs certificats associés pour l'utilisation des applications. un cas d'utilisation courant serait pour l'authentification du certificat client avec https.

Email

  • La messagerie électronique utilise désormais l'API KeyChain pour permettre l'authentification par certificat client pour les comptes Exchange

Navigateur

  • Le navigateur utilisera désormais le KeyChain pour demander un certificat client lorsque le serveur en demande un pour l'authentification.

En mars 2014, une demande d'amélioration a été créée Autoriser les utilisateurs à installer leurs propres certificats d'autorité de certification .

De nombreux utilisateurs (y compris les entreprises) utilisent des certificats auto-signés pour SSL / TLS, soit parce qu'ils ne veulent pas payer pour cela, soit parce qu'ils ne font pas confiance aux autres entreprises et veulent le faire eux-mêmes (en fait, il n'y a aucune raison de acheter un certificat lorsqu'il n'est pas nécessaire que les utilisateurs Internet anonymes fassent confiance à votre serveur).

Pour le moment, il est possible d'installer un certificat d'autorité de certification personnalisé dans Android, mais il est détecté comme un "certificat utilisateur" qui semble être destiné aux certificats côté client. En conséquence, ces certificats sont présentés comme des «certificats d'utilisateur» dans l'interface graphique et depuis Android 4.4, un terrible «réseau peut être surveillé» a été mis en œuvre.

Ryan Conrad
la source
4
C'est une excellente réponse mais pour la mauvaise question. La question demande comment installer un certificat client pour l'authentification de certificat client (rare pour les sites Web). Cette réponse explique comment installer une nouvelle autorité de certification racine, ce qui est différent.
jtolds
2

Accédez à Paramètres> Sécurité> Stockage des informations d'identification> Installer à partir de la carte SD. Si ce n'est pas le cas, vous aurez peut-être besoin d'une version Android plus récente ou d'une solution de contournement que je ne connais pas.

simplegamer
la source
0

Vous pouvez installer le certificat racine fourni par le site sur Android. Accédez au paramètre de votre téléphone Android, appuyez sur installer les informations d'identification à partir de la carte SD.

Assurez-vous de télécharger le certificat sur votre carte SD

Furquan
la source
1
Nous recherchons des réponses qui expliquent complètement les choses. Pourriez-vous développer un peu votre réponse?
Dan Hulme