J'essaie d'installer le certificat auto-signé pour mon serveur web sous Android 4.3. J'ai le fichier .crt dans la racine de la carte SD (qui est en fait émulée car je n'ai pas de carte SD dans le slot).
Pour installer le certificat, je vais dans Setting -> General -> Security -> Credential Storage -> Install from device storage.
J'obtiens une boîte de dialogue indiquant le nom du certificat (le nom de fichier sans l'extension .crt) que je peux modifier (mais je ne le fais pas), un menu déroulant "used for" avec "VPN and apps" sélectionné et un texte en bas de la boîte de dialogue qui informe "Package contains : one user certificate". Tout semble correct, je clique donc sur "Ok". La boîte de dialogue disparaît et un toast s'affiche avec "[nom] installé".
Cependant, si je me rends immédiatement dans la section "Références de confiance" et que je sélectionne "Utilisateur", il n'y a rien ! Le nouveau certificat ne se trouve pas non plus dans "Système", mais je ne m'attendais pas à ce qu'il s'y trouve. Si j'ouvre un navigateur après cela et que j'essaie d'accéder à mon site Web, je reçois toujours l'avertissement indiquant que le certificat du site n'est pas fiable. J'ai également essayé de redémarrer, mais cela ne fait aucune différence.
Qu'est-ce que je fais mal ? L'absence totale de messages d'erreur ne m'aide pas. Est-il possible que mon certificat soit au mauvais format ? J'ai essayé d'utiliser le fichier .crt dans le répertoire ssl du serveur et j'ai essayé de le convertir au format DER.
Mise à jour : j'ai lu quelque part qu'Android exigeait que les certificats soient au format p12, j'ai donc converti le certificat Apache2 en p12 en utilisant la commande suivante :
openssl pkcs12 -export -inkey server.key -in server.crt -out ~/server.p12
J'ai ensuite répété les étapes ci-dessus, j'ai obtenu le même message de réussite, puis je n'ai toujours pas vu le certificat dans les informations d'identification de l'utilisateur et je reçois toujours l'erreur de certificat non fiable dans le navigateur mobile.