3 votes

Le certificat de l'autorité de certification n'est pas pris en compte par les navigateurs sous Android.

Il s'agit d'une question de suivi concernant cette réponse .

En bref : J'importe le certificat auto-signé de l'autorité de certification racine dans le système Android via

Settings -> Security -> Trusted Credentials -> install from SD

Le chemin diffère légèrement selon les versions d'Android.

Ensuite, je fais pointer n'importe quel navigateur (testé avec Firefox, chrome et opera) vers la ressource sécurisée (basée sur java script) et je reçois une erreur de socket. La ressource est un index.html avec une logique js web-socket pour se connecter de manière sécurisée à un broker mosquitto.

Si, par contre, je fais pointer le navigateur sur "https://myserver:<mysecure port>" Je reçois un avertissement relatif à la confidentialité, je peux continuer à ne pas être en sécurité et cela crée en quelque sorte un cookie ou un autre élément de stockage, ce qui me permet d'effectuer de futures requêtes sur la ressource sécurisée basée sur js.

Il semble que les navigateurs sous Android n'utilisent pas les certificats CA importés par l'utilisateur du système, bien qu'ils soient répertoriés dans le robinet des certificats de confiance "utilisateur" et dans la zone des informations d'identification de confiance.

Testé avec Android 7.1.2 et 10. Tous les navigateurs de bureau fonctionnent bien, testés sur ubuntu / mint et raspi.

Comment accomplir des requêtes TLS basées sur le navigateur sur Android sans accepter des risques de confidentialité dangereux ?

Test supplémentaire :

J'ai testé la même chose sur un IPhone 7 ios 13.3, en important le certificat CA, en plaçant la ressource sécurisée sur un espace web approprié puisque l'accès local aux fichiers n'est pas possible sur ios. Cela a fonctionné sans problème.

Il semble donc que ce soit un vrai problème Android. Il serait peut-être judicieux de poser cette question à un espace Android. Quelqu'un pourrait-il faire une suggestion ?

Recherches supplémentaires :

こちら est une explication détaillée, sur la façon d'obtenir un certificat personnalisé dans la section certificat du système. Mais pour être honnête, ce n'est pas une façon habituelle de procéder. L'accès à la racine n'est pas pour le commun des mortels et cela pourrait ne pas fonctionner pour les versions plus récentes d'Android.

Les certificats d'utilisateur sont destinés aux applications Android écrites par vos soins. Vous pouvez avoir une vue des lignes de paramètres de propriété dans app.config pour travailler avec vos certificats d'utilisateur auto-signés.

Le navigateur Chrome et d'autres, en revanche, sont des applications système ou des applications de fournisseurs qui ne sont pas censées connaître les certificats spécifiques des utilisateurs. Et c'est la seule raison valable pour laquelle il ne connaîtra pas les certificats de la section utilisateur. Il ne connaît que les certificats système.

La seule solution restante semble donc être de créer votre propre application ou de recompiler une application de navigateur entière en la configurant pour rechercher des certificats d'utilisateur.

C'est assez lourd et insatisfaisant, car le web vous donnerait tout ce dont vous avez besoin sur n'importe quel appareil, sauf Android bien sûr, ce qui oblige à faire un détour.

4voto

Karol Bienkowski Points 121

Cela a fonctionné pour moi sur Firefox 97.3.0 :

  1. Installez le certificat CA auto-signé dans Android (pour moi, c'était sous Paramètres -> Biométrie et sécurité -> Autres paramètres de sécurité -> Installer à partir du stockage du périphérique -> Certificat CA). Mon certificat devait être au format DER.
  2. Ouvrez les paramètres de Firefox -> À propos de Firefox
  3. Cliquez sur le logo 5 fois (jusqu'à ce que la popup "Debug menu enabled" apparaisse)
  4. Retournez dans les paramètres - il devrait y avoir une option "Paramètres secrets" maintenant. Choisissez-la.
  5. Activez "Utiliser des certificats CA tiers".

0voto

pr0nin Points 353

Firefox sur Android

Vous n'avez pas besoin d'ajouter votre certificat d'autorité de certification racine personnalisé à Android pour que Firefox lui fasse confiance. Comme pour les versions de bureau de Firefox, Firefox dispose de son propre magasin de certificats d'autorité de certification racine auquel vous pouvez ajouter des certificats.

La seule différence avec la version de bureau est qu'il n'y a pas d'interface utilisateur de gestion pour ajouter des certificats.

Au lieu de cela, vous devez simplement télécharger un certificat de l'autorité de certification racine (au format DER et non au format PEM) à l'aide de Firefox Mobile, puis une boîte de dialogue s'affiche pour vous permettre de marquer le certificat comme fiable pour l'identification des sites web et/ou de marquer le certificat comme fiable pour l'identification des utilisateurs d'e-mails (plutôt inutile sur Firefox sur Android, mais il peut être sélectionné).

enter image description here

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