J'ai trouvé un moyen de résoudre le problème, mais il nécessite root et ne peut fonctionner qu'avec des autorités de certification root, auto-signées ou intermédiaires.
Si vous avez un certificat qui n'est pas approuvé par Android, lorsque vous l'ajoutez, il va dans le magasin de certificats personnels. Lorsque vous ajoutez un certificat dans ce magasin de certificats personnel, le système nécessite un niveau de sécurité plus élevé pour déverrouiller l'appareil. Mais si vous parvenez à ajouter votre certificat au magasin système, vous n'avez pas cette exigence. Évidemment, root est nécessaire pour ajouter un certificat au magasin système, mais c'est facile et silencieux.
Voici comment faire :
1 - Ajoutez votre certificat normalement. Par exemple, mon cert a été appelésome.crt
. Il sera stocké dans votre boutique personnelle et Android vous demandera un code PIN / mot de passe ... Continuez.
2 - Avec un gestionnaire de fichiers avec des capacités root, parcourez les fichiers dans /data/misc/keychain/cacerts-added
ou /data/misc/keystore
. Vous devriez voir ici un fichier appelé 1000_USRCERT_some
c'est le certificat que vous avez ajouté à l'étape 1.
3 - Déplacez ce fichier vers system/etc/security/cacerts
(vous devrez monter la partition système r / w)
4 - Redémarrez le téléphone
5 - Vous pouvez maintenant effacer le code PIN / mot de passe que vous avez défini pour déverrouiller l'appareil.
A travaillé pour moi avec un certificat auto-signé sur Android 4.4.2. J'espère que ça aide!