Notre équipe a le problème suivant :
Nous développons une application client pour Android et iOS en utilisant Unity + UniWebview + HTML. Cette application inclut des requêtes Ajax vers certains serveurs via jQuery. À des fins de test, nous utilisons un serveur de test au lieu du serveur réel. Ce serveur de test utilise un certificat SSL auto-signé. NOTE : Nous n'avons pas accès à ce serveur, donc changer le certificat SSL n'est probablement pas une option.
Lorsque nous avons testé le fichier .htm localement avec le navigateur de bureau, nous avons simplement importé ce certificat SSL dans Chrome et Mozilla Firefox. Avec cette approche, notre code HTML a fonctionné comme prévu.
Nous voulions maintenant le tester dans notre environnement UniWebview sur un appareil Android. Au début, l'application ne fonctionnait pas. Lorsque nous avons testé le fichier .htm dans le navigateur mobile Chrome, les demandes ont été bloquées en raison du certificat SSL non fiable. Nous avons donc cherché une solution pour importer le certificat sur Android.
La solution la plus courante que nous avons trouvée consiste à exporter le certificat dans chrome ou firefox et à le copier sur le lecteur de carte SD de l'appareil. Ensuite : Paramètres > Sécurité > Installer à partir d'une mémoire USB, puis sélectionner le certificat et l'installer. Après l'installation, nous avons reçu le message d'une installation réussie. Mais quand on le cherche dans la liste des certificats d'utilisateur, il n'apparaît pas. Après avoir testé à nouveau notre script, il ne fonctionne toujours pas. Nous avons essayé cette solution à plusieurs reprises en expérimentant différents formats et encodages, mais nous avons toujours obtenu le même résultat.
La deuxième tentative a consisté à utiliser l'application CAdroid pour importer des certificats SSL sur Android. Mais là aussi, nous avons rencontré un problème. À l'étape 4 (vérification du certificat), nous avons reçu un message d'erreur indiquant que les contraintes de base sont manquantes. Par conséquent, il n'y a pas de drapeau CA défini, donc le drapeau CA n'est pas vrai.
Le troisième essai a consisté à utiliser l'émulateur Android de l'Android-SDK. Cette fois, nous avons rencontré le même problème que lors de notre premier essai, en installant le certificat directement sur Android.
TL;DR
Alors ma question : Est-il possible d'installer ce certificat auto-signé sur Android ? sans ayant un drapeau CA activé ?
Si ce n'est pas le cas, est-il possible de modifier ce certificat existant, afin qu'il puisse être installé ?
REMARQUE : La création d'un nouveau certificat n'est PAS une véritable option.
NOTE : Nous n'avons que les fichiers de certificats, nous avons exporté avec chrome et firefox.
J'ai trouvé ce post : L'installation d'un certificat auto-signé est un succès, mais Android agit comme si le certificat n'existait pas. . Dans les commentaires, il est question de modifier un certificat existant, mais je ne suis pas sûr que ce soit une option pour nous.
Dispositif de test : Samsung GT-N8010 (Galaxy Note 10.1) Android 4.4.2
Meilleures salutations