Comme d’habitude comme tout ce qui concerne une manip sous Android nécéssitant l’accès root, je fourni ce tutoriel sans aucune garantie contre la casse ni la bêtise. A vos risques et périls donc.
Il peut arriver de se monter sa propre PKI (pourquoi pas), et de l’utiliser à tout va pour crypter les échanges entre son mobile et ses sites web (les urls qui commencent par https://), ou son serveur de mails perso (pour utiliser pleinement TLS ou le SSL implicite). Bref, pour tous ceux qui voudraient ajouter un certificat d’autorité racine dans leur téléphone Android pour valider tout ce qu’il y a à valider, voici la marche à suivre.
Tout d’abord le matériel requis pour la manipulation :
- l’accès root sur le téléphone
- le Java Runtime Environment 1.6 ou plus
- le SDK d’Android pour l’ADB (on peut s’en passer, mais c’est très chiant sans ça)
- bouncy castle, une librairie de chiffrement pour Java
- le certificat à ajouter, au format PEM 🙂
# on récupère le magasin de certificats depuis son téléphone vers son PC, c’est là que l’ADB devient utile :
adb root # extract certificates store on the computer adb pull /system/etc/security/cacerts.bks cacerts.bks # import mon-ca.crt to the store keytool -keystore cacerts.bks -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider -storepass changeit -importcert -trustcacerts -alias MON-CA -file mon-ca.crt # type "yes" to confirm the import of the new ca cert # remount android /system as read-write adb shell mount -o remount,rw /system # push the new store adb push cacerts.bks /system/etc/security # remoube android /system as read-only adb shell mount -o remount,ro /system # done ;)
Plus qu’à redémarrer le téléphone pour qu’il prenne le nouveau CA en compte.