Zertifikat Installation ohne obligatorischen PIN-Sperrbildschirm

23

Der Google-Support sagt :

Die Art der akzeptablen Sperre kann von Ihrem Systemadministrator festgelegt werden.

Wo kann ich definieren, was akzeptabel ist? Ich kann das Zertifikat bei Bedarf neu generieren.

So kann ich wieder Schiebesperrbildschirm verwenden.

(Ich benutze CM9 RC1, Android 4.0.4)

rdlu
quelle
1
Ich akzeptiere eine Lösung, mit der das Zertifikat direkt auf dem System installiert wird und die PIN-Anforderung umgangen wird.
Rdlu
1
Um Ihre Anmeldeinformationen zu sichern, müssen Sie einen der Sperrbildschirmtypen verwenden, der über einen Geheimcode (Muster, PIN oder Kennwort) verfügt. Aus dieser Zeile geht hervor, dass Ihr Administrator (normalerweise über eine Exchange ActiveSync-Richtlinie) Ihr Telefon sperren kann, sodass nur einige Typen von diesen akzeptiert werden, z PINs haben nicht genügend Kombinationen. Es heißt nicht, dass Sie diese Sicherheitsanforderung deaktivieren können.
GAThrawn
2
@GAThrawn Ich finde das inakzeptabel, wenn ich nur eine Zertifizierungsstelle installiere, um meine Webserver über SSL zu authentifizieren (mit selbstsignierten Zertifikaten). Ich würde es verstehen, wenn es darum geht, Schlüssel auf dem Gerät zu signieren oder den Benutzer zu authentifizieren - aber beides ist umgekehrt. Zum Glück scheint die sgiebels-Lösung für mich zu funktionieren, mit einigen geringfügigen Anpassungen, die ich dort in den Kommentaren beschrieben habe. Einziges Manko bisher: es benötigt root.
Izzy

Antworten:

2

Das Problem beim Deaktivieren der Sperrbildschirm-Sicherheit mithilfe des Schalters / Profils besteht darin, dass die Sperrbildschirm-Widgets ebenfalls nicht angezeigt werden und Sie nicht zum Entsperren gleiten können. Außerdem funktionieren die Tasten beim Neustart des Telefons erst, wenn Sie die Einstellung erneut ändern.

Eine andere Möglichkeit besteht darin, das Zertifikat wie gewohnt zu installieren und dann die Verzeichnisse / data / misc / keychain und keystore mit etwas zu sichern, das die ACLs beibehält, z. B. Root Explorer, an einem Speicherort, der ACLs unterstützt. Ich schlage vor, sie nach / tmp zu kopieren. Deaktivieren Sie dann die Anmeldeinformationen in den Einstellungen und aktivieren Sie die Option "Zu entsperren". Kopieren Sie dann die Ordner aus / tmp zurück. Die CA wird installiert.

Monstieur
quelle
Das geht nicht mehr. Sobald Sie versuchen, das Zertifikat irgendwo zu verwenden (z. B. beim Herstellen einer Verbindung zu einem WLAN-Netzwerk), müssen Sie vom Betriebssystem erneut eine Sperre für den Bildschirm festlegen.
Cory Klein
@CoryKlein Wenn Sie auf Abbrechen klicken, werden Sie zur Eingabe einer PIN aufgefordert, und Sie können die zuletzt festgelegte PIN eingeben. Es wird benötigt, um die Daten zu entschlüsseln.
Monstieur
@Kurian - Also habe ich die obigen Anweisungen befolgt. Wenn ich versuche, eine Verbindung zu einem WLAN-Netzwerk herzustellen, wird "Sie müssen eine PIN für den Sperrbildschirm festlegen" angezeigt. Ich klicke auf "Abbrechen", und es passiert nichts. Wenn ich auf "Ok" drücke und von dort aus storniere, wird die PIN immer noch nicht abgefragt.
Cory Klein
@ CoryKlein Ich habe Ihren vorherigen Kommentar falsch gelesen. Ich habe über VPNs gesprochen. Beim Herstellen einer VPN-Verbindung werden Sie aufgefordert, die letzte PIN für den Sperrbildschirm einzugeben, um Ihre Anmeldeinformationen zu entschlüsseln. Ich weiß nicht, ob es für persönliche Zertifikate mit privaten Schlüsseln funktioniert. Ich weiß, dass es für die Installation vertrauenswürdiger CA-Zertifikate funktioniert. Es könnte auch das spezifische ROM sein, das Sie verwenden. AOSP-ROMs vor ICS benötigten nie eine PIN mit Sperrbildschirm, um VPN-Anmeldeinformationen zu speichern.
Monstieur
7

Wie das genau geht, habe ich auf meiner Seite "Installieren von CAcert-Zertifikaten unter Android als" System "-Anmeldeinformationen ohne Sperrbildschirm - Anweisungen" unter http://wiki.pcprobleemloos.nl/android/cacert beschrieben

Ich habe es auch im Cyanogenmod-Forum gepostet: http://forum.cyanogenmod.com/topic/82875-installing-cacert-certificates-on-android-as-system-credentials-without-lockscreen/

Grundsätzlich sind die Befehle:

openssl x509 -inform PEM -subject_hash_old -in root.crt | head -1

Um den richtigen Dateinamen zu erhalten, konvertieren Sie das Zertifikat:

cat root.crt > 5ed36f99.0
openssl x509 -inform PEM -text -in root.crt -out /dev/null >> 5ed36f99.0

Kopieren Sie sie nach / system / etc / security / cacerts / und chmod die neuen .0-Dateien nach '644'. Starten Sie neu und überprüfen Sie. Wähle auf deinem Android-Gerät 'Clear cerficates' und du kannst die PIN entfernen (indem du die PIN eingibst und den Sperrbildschirm auf 'none' oder 'wipe' änderst

Hier habe ich das CAcert-Stammzertifikat verwendet, aber Sie möchten wahrscheinlich auch das class3.crt-Zertifikat oder verwenden Ihre eigenen Zertifikate.

sgiebels
quelle
Sie erwähnen "eigene Zertifikate". Ich habe gerade versuchte es mit meinem „CA“ (mit TinyCA erstellt), und im letzten Schritt ( „inform“) nur einen Fehler: 140342119224992:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:696:Expecting: TRUSTED CERTIFICATE. Aktivieren Sie die Option Zertifikat kann in openssl nicht geladen werden. Die .pemDatei sollte übereinstimmen. Aber Ihr letzter Befehl ändert nichts. Stimmt etwas nicht oder wird dies für eine selbst signierte / erstellte Zertifizierungsstelle erwartet? Und bevor ich anfange zu hacken: Sollte das trotzdem funktionieren?
Izzy
OK, gearbeitet und war mit meiner selbst erstellte TinyCA CA akzeptiert: openssl x509 -inform PEM -text -fingerprint -in cacert.pem > d6a2705a.0dann die base64 Block nach oben bewegt mit einem Texteditor, indem die Datei in /system/etc/security/cacerts/, ausgeführt wird chown root:root d6a2705a.0und chmod 0644 d6a2705a.0aus dem Verzeichnis - et voila, stellt sich als vertrauenswürdige up - System - Zertifikat . Yeehaa!
Izzy
@sgiebels Haben Sie zufällig auch eine Lösung, wie Sie Anmeldeinformationen (aus den Systemanmeldeinformationen oder anderen) in einer 802.1X-WLAN-Verbindung verwenden können? Es sieht so aus, als ob der Keystore / Schlüsselbund auf dem Gerät (/ data / misc / key ...) das Passwort für die Verschlüsselung verwendet. Daher: Jedes Mal, wenn die Anmeldeinformationen benötigt werden (Verbindung mit WLAN), wird die PIN / das Passwort erneut abgefragt. In meinem System ist die Sperre wieder aktiviert.
Ivin
Dies funktionierte gut, außer dass ich auch ein Problem mit der Formatierung des Zertifikats aufgrund von Zeilenenden bekam. dos2unix konvertiert sie und prüft dann, ob die Endung in der Zertifikatzeile korrekt ist (meine sah so aus: -----END CERTIFICATE-----Certificate:was auch einen
Analysefehler
4

Ich habe eine Lösung gefunden, die ohne zusätzliche Software oder manuelles Kopieren von Dateien funktioniert:

  1. Stellen Sie Ihren Sperrbildschirm auf "Muster". Geben Sie ein Muster und eine Entsperr-PIN ein. Erinnern Sie sich an die Entsperr-PIN.
  2. Installieren Sie Ihr Benutzerzertifikat.
  3. Schalten Sie den Bildschirm aus und wieder ein.
  4. Geben Sie das Muster ein paar Mal falsch ein, bis die Meldung "Muster vergessen?" Option erscheint.
  5. Klicken Sie auf "Muster vergessen?", Scrollen Sie nach unten, geben Sie die Entsperr-PIN ein und bestätigen Sie mit "OK".
  6. Schließen Sie das Fenster "Einstellungen zum Entsperren des Bildschirms" mit der Schaltfläche "Zurück", ohne eine Option auszuwählen .

Das System ist jetzt auf "Swipe entsperren" eingestellt, aber das Benutzerzertifikat kann weiterhin verwendet werden (getestet mit dem Webbrowser und einer benutzerdefinierten App mit DefaultHttpClient).

Getestet auf einem Android 4.1.2 auf einem Galaxy Tab 2 10.1.

Heinzi
quelle
funktioniert nicht mit wpa-enterprise / TLS auf LG G2, danach sind die Zertifikate verschwunden
Eugene Petrov
Das ist ein toller Bug! Vielen Dank! (Arbeitete perfekt mit Galaxy S5, Android 6)
Adiel
0
  • Sie können die Profile von CyanogenMod verwenden .
    (Für andere Leser: Hierfür ist die benutzerdefinierte CyanogenMod Rom Version 9+ erforderlich.)

    Erstellen oder ändern Sie einfach ein vorhandenes Profil und deaktivieren Sie dort die "Bildschirmsperre".

    Es ist: Systemeinstellungen-> Profile-> Standard-> Sperrbildschirmmodus-> Deaktiviert

  • Integrieren Sie Ihr Zertifikat in die Standard-Android-Keystore-Datei

    Sehen Sie hier CAcerts exzellentes Howto

    Ich bin mir jedoch nicht sicher, ob Sie dies mit einem selbstsignierten Zertifikat tun können (möglicherweise müssen Sie zu einer selbst erstellten Zertifizierungsstelle wechseln (verwenden Sie tinyca für ein nettes GUI-Tool unter * nix)).

ce4
quelle
Dies funktioniert (nicht mehr). Sobald Sie Zertifikate (z. B. von cacert.org) installiert haben, ist diese Option / dieser Eintrag im Profil ausgegraut.
bläulich
-1

Ich habe einen Weg gefunden, das Problem zu lösen, aber es erfordert Root und funktioniert möglicherweise nur mit Root-, selbstsignierten oder Zwischenzertifizierungsstellen.

Wenn Sie ein Zertifikat haben, dem Android nicht vertraut, wird es beim Hinzufügen im persönlichen Zertifikatspeicher abgelegt. Wenn Sie in diesem persönlichen Zertifikatspeicher ein Zertifikat hinzufügen, erfordert das System eine höhere Sicherheitsstufe, um das Gerät zu entsperren. Wenn Sie es jedoch schaffen, Ihr Zertifikat zum Systemspeicher hinzuzufügen, besteht diese Anforderung nicht. Natürlich ist root erforderlich, um ein Zertifikat zum Systemspeicher hinzuzufügen, aber es ist ganz einfach.

So geht's:

1 - Fügen Sie Ihr Zertifikat normal hinzu. Zum Beispiel wurde mein Zertifikat aufgerufen some.crt. Es wird in Ihrem persönlichen Shop gespeichert und Android wird Sie nach einer PIN / einem Passwort fragen ... Weiter.

2 - Durchsuchen Sie mit einem Dateimanager mit Root-Funktionen Dateien in /data/misc/keychain/cacerts-addedoder /data/misc/keystore. Hier sollte eine Datei angezeigt werden, die als 1000_USRCERT_somedas Zertifikat bezeichnet wird, das Sie in Schritt 1 hinzugefügt haben.

3 - Verschieben Sie diese Datei nach system/etc/security/cacerts (Sie müssen die Systempartition r / w mounten)

4 - Starten Sie das Telefon neu

5 - Sie können jetzt die PIN / das Passwort löschen, die / das Sie zum Entsperren des Geräts festgelegt haben.

Arbeitete für mich mit einem selbstsignierten Zertifikat auf Android 4.4.2. Ich hoffe es hilft!

Rinnsal
quelle
Interessant, dass Sie die Originalquelle nicht erwähnt haben , und den Autor auch nicht entsprechend gutgeschrieben haben. Befolgen Sie die Anweisungen zum Referenzieren von Material, das von anderen geschrieben wurde .
Firelord