Kein Fingerabdruckleser nach dem Hinzufügen eines selbstsignierten Zertifikats

Cyanogen OS 12.1 läuft auf einem ZUK z1. Ich habe den "vertrauenswürdigen Anmeldeinformationen" ein selbstsigniertes CA-Zertifikat hinzugefügt. Seitdem erlaubt Android mir nicht mehr, den Fingerabdruckscanner zum Entsperren des Bildschirms zu verwenden. Gibt es eine Problemumgehung für diese Sicherheitsfunktion?

Ist das Gerät gerootet? Ansonsten AFAIK ist die Antwort 2 Buchstaben: Nein.
Autsch. Es ist leider nicht gerootet
Soll ich trotzdem eine "Root-Lösung" als Antwort stellen, damit man sieht, ob es sich lohnt? Auf einem gerooteten Gerät ist die Lösung trivial (auch wenn Sie mit Shell/Befehlszeile nicht vertraut sind). Ich mache das auf meinen Geräten die ganze Zeit.
Ja bitte posten. Ich mag Tools wie Kingroot einfach nicht und die Erfolgsrate, mein Gerät auf andere Weise zu rooten, ist immer noch ziemlich niedrig.
Ich würde diese Tools wegen ihrer Nebenwirkungen (zumindest nach dem, was ich darüber gelesen habe) nach Möglichkeit auch meiden. Ich werde die Antwort prüfen, muss sie aber verschieben, wenn ich wieder zu Hause bin – es gibt einige subtile Details, die ich ohne meine Notizen nicht zuverlässig rekonstruieren kann :)

Antworten (1)

Schritt 1: Machen Sie die Zertifikate kompatibel (falls noch nicht geschehen)

Ganz am Anfang müssen wir den Dateinamen unserer Cert-Datei ermitteln. Der Name der Zertifikatsdatei ist ein Hash, den man aus dem Zertifikat selbst erhalten kann. Dafür braucht man die opensslWerkzeuge. Unter Unix/Linux sind die Schritte dann wie folgt:

# 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

Schritt 2: Bringen Sie das Zertifikat in unsere Systemzertifikatskette

Wenn Ihr Gerät gerootet ist, besteht eine Lösung darin, das Zertifikat als Systemzertifikat (nicht als Benutzerzertifikat) zu importieren. Sie benötigen dafür die Befehlszeile, entweder mit adb shelloder einer Terminal-App auf dem Gerät. Das folgende Snippet geht davon aus, dass Ihr Zertifikat bereits auf die SD-Karte gepusht wurde, gespeichert als /sdcard/d6a2705a.0(passen Sie das an Ihren Zertifikatsnamen an) und Sie sich an der Eingabeaufforderung Ihres Geräts befinden.

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

Erledigt. Jetzt sollten Sie in der Lage sein, das Zertifikat zu verwenden – und da Sie keine "unsicheren Benutzerzertifikate" haben, können Sie den von Ihnen bevorzugten Entsperrmechanismus verwenden.


Ein kurzer Check zeigt, dass all diese Schritte auch im CaCert-Wiki beschrieben sind , wie man Android-kompatible Zertifikatsdateien aus ihren Originaldateien erstellt. Meine persönlichen Notizen, denen ich obiges entnommen habe, könnten also durchaus zumindest teilweise hierher stammen.