Cyanogen OS 12.1 fonctionnant sur un ZUK z1. J'ai ajouté un certificat d'autorité de certification auto-signé aux "informations d'identification fiables". Depuis, Android ne me permet plus d'utiliser le scanner d'empreintes digitales pour déverrouiller l'écran. Existe-t-il une solution de contournement pour cette fonctionnalité de sécurité ?
Réponse
Trop de publicités?Étape 1 : Rendre les certs compatibles (s'ils ne le sont pas déjà)
Au tout début, nous devons déterminer le nom de notre fichier de certificat. Le nom du fichier de certificat est un hash que l'on peut obtenir à partir du certificat lui-même. Pour cela, on a besoin de la balise openssl
outils. Sous Unix/Linux, les étapes sont alors les suivantes :
# Obtain the hash – in my case that returned d6a2705a – so we have the file name
openssl x509 -inform PEM -subject_hash_old -in root.crt | head -1
# Copy the original file
cat root.crt > d6a2705a.0
# Append additional data
openssl x509 -inform PEM -text -in root.crt -out /dev/null >> d6a2705a.0
Étape 2 : Introduire le certificat dans la chaîne de certificats de notre système
Si votre appareil est enraciné, une solution consiste à importer le certificat en tant que système cert (pas user-cert). Vous aurez besoin de la ligne de commande pour cela, en utilisant soit adb shell
ou une application de terminal sur l'appareil. L'extrait suivant suppose que votre certificat a déjà été poussé sur la carte SD, enregistré sous le nom de /sdcard/d6a2705a.0
(adaptez-le à votre nom de certificat), et vous êtes à l'invite de commande de votre appareil.
mount -o remount,rw /system
cp d6a2705a.0 /system/etc/security/cacerts/d6a2705a.0
chown root:root /system/etc/security/cacerts/d6a2705a.0
chmod 0644 /system/etc/security/cacerts/d6a2705a.0
mount -o remount,ro /system
Fait. Vous devriez maintenant être en mesure d'utiliser le certificat - et comme vous n'avez pas de "certificats d'utilisateur dangereux", vous êtes libre d'utiliser le mécanisme de déverrouillage que vous préférez.
Une vérification rapide montre que toutes ces étapes sont également décrites dans le document Wiki CaCert sur la façon de créer des fichiers de certificats compatibles avec Android à partir de leurs fichiers d'origine. Les notes personnelles que j'ai prises ci-dessus pourraient donc bien provenir d'ici, du moins en partie.
0 votes
L'appareil est-il enraciné ? Sinon AFAIK la réponse est 2 lettres : Non.
0 votes
Aïe. Il n'est pas enraciné malheureusement
0 votes
Dois-je néanmoins placer une "solution Root" comme réponse, afin que vous puissiez voir si cela en vaut la peine ? Sur un appareil rooté, la solution est triviale (même si vous n'êtes pas familier avec le shell/la ligne de commande). Je fais cela sur mes appareils tout le temps.
0 votes
Oui, s'il vous plaît, affichez-la. Je n'aime pas les outils comme kingroot et le taux de réussite de l'enracinement de mon appareil par d'autres moyens est encore assez faible.
0 votes
Je préfère éviter ces outils si possible, à cause de leurs effets secondaires (du moins d'après ce que j'ai lu à leur sujet). Je vais vérifier la réponse, mais je dois la reporter à mon retour à la maison - il y a certains détails subtils que je ne peux pas reconstituer de manière fiable sans mes notes :)