Certificato Installa senza schermata di blocco PIN obbligatoria


23

Il supporto di Google dice :

Il tipo di blocco accettabile può essere predeterminato dall'amministratore di sistema.

Dove posso definire ciò che è accettabile? Posso rigenerare il certificato se necessario.

Quindi posso usare di nuovo la schermata di blocco diapositive.

(Sto usando CM9 RC1, Android 4.0.4)


1
Accetterò una soluzione che installa direttamente il certificato sul sistema, evitando così il requisito di pin.
rdlu,

1
Per proteggere le tue credenziali è necessario utilizzare uno dei tipi di schermata di blocco con un tipo di codice segreto (sequenza, PIN o password). Quello che ti dice quella linea è che l'amministratore può (normalmente tramite un criterio Exchange ActiveSync) bloccare il telefono in modo che vengano accettati solo alcuni tipi di quelli, ad esempio potrebbero non fidarsi dei blocchi di pattern e potrebbero pensare che a 4 cifre I PIN non hanno abbastanza combinazioni. Non sta dicendo che è possibile disattivare questo requisito di sicurezza.
GAThrawn

2
@GAThrawn Lo trovo inaccettabile se installo una CA per autenticare i miei server Web tramite SSL (usando certificati autofirmati). Comprenderei se si trattasse di firmare le chiavi sul dispositivo o di autenticare l'utente, ma entrambi sono il contrario. Fortunatamente, la soluzione sgiebels sembra funzionare per me, con alcuni piccoli aggiustamenti che ho descritto nei commenti lì. Finora l'unico inconveniente: richiede root.
Izzy

Risposte:


2

Il problema con la disabilitazione della sicurezza del lockscreen usando il toggle / profilo è che i widget del lockscreen non compaiono, quindi non è possibile scorrere per sbloccare. Inoltre, quando si riavvia il telefono i pulsanti non funzionano fino a quando non si ripristina nuovamente l'impostazione.

Un altro modo è installare il certificato come al solito, quindi eseguire il backup delle directory / data / misc / keychain e del keystore usando qualcosa che preservi gli ACL come Root Explorer in una posizione che supporti gli ACL. Suggerisco di copiarli in / tmp. Quindi cancellare le credenziali da Impostazioni e abilitare Scorri per sbloccare. Quindi copiare nuovamente le cartelle da / tmp. La CA verrà installata.


Questo non funziona più. Non appena si tenta di utilizzare il certificato da qualche parte (ad esempio durante la connessione a una rete Wi-Fi), il sistema operativo richiede di impostare nuovamente un blocco sullo schermo.
Cory Klein,

@CoryKlein Se fai clic su Annulla ti verrà richiesto un PIN e potrai inserire l'ultimo che hai impostato. È necessario per decrittografare i dati.
Monstieur,

@Kurian - Quindi ho seguito le istruzioni sopra e quando provo a connettermi a una rete wifi mi dice "Devi impostare un PIN per la schermata di blocco", faccio clic su "Annulla" e non succede nulla. Se premo "Ok", poi mi annullo da lì, non richiede ancora il PIN.
Cory Klein,

@CoryKlein Ho letto male il tuo commento precedente. Stavo parlando di VPN. La connessione a una VPN richiede l'ultimo PIN della schermata di blocco per decrittografare le credenziali. Non so se funziona con certificati personali con chiavi private. So che funziona per l'installazione di certificati CA affidabili. Potrebbe anche essere la ROM specifica che stai utilizzando. Le ROM AOSP pre-ICS non hanno mai avuto bisogno di un PIN lockscreen per salvare le credenziali VPN.
Monstieur,

7

Ho descritto come fare esattamente questo sulla mia pagina, "Installazione dei certificati CAcert su Android come credenziali di" sistema "senza lockscreen - istruzioni" su http://wiki.pcprobleemloos.nl/android/cacert

L'ho anche pubblicato sul forum cyanogenmod: http://forum.cyanogenmod.com/topic/82875-installing-cacert-certificates-on-android-as-system-credentials-without-lockscreen/

Fondamentalmente, i comandi sono:

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

Per ottenere il nome file corretto, quindi converti il ​​certificato:

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

Copiali in / system / etc / security / cacerts / e chmod i nuovi file .0 in '644'. Riavvia e verifica. Sul tuo dispositivo Android seleziona "Cancella certificati" e sarai in grado di rimuovere il pin (inserendo il pin e cambiando la schermata di blocco in "nessuno" o "cancella"

Qui ho usato il certificato radice di CAcert, ma probabilmente vuoi anche il certificato class3.crt o utilizzare i tuoi certificati.


Citi "certificati propri". Ho appena provato con la mia "CA" (creata usando tinyca), e nell'ultimo passaggio ( "informare") ottiene solo un errore: 140342119224992:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:696:Expecting: TRUSTED CERTIFICATE. Selezionando Impossibile caricare il certificato in openssl , il .pemfile dovrebbe corrispondere. Ma poi, l'ultimo comando non cambia nulla. Qualcosa non va o è previsto per una CA autofirmata / creata? E prima di iniziare l'hacking: dovrebbe funzionare comunque?
Izzy

OK, ha funzionato ed è stato accettato con la mia TinyCA CA auto-creata:, openssl x509 -inform PEM -text -fingerprint -in cacert.pem > d6a2705a.0quindi spostando il blocco base64 in alto usando un editor di testo, posizionando il file /system/etc/security/cacerts/, eseguendolo chown root:root d6a2705a.0e chmod 0644 d6a2705a.0dall'interno della directory - e voilà, si presenta come certificato di sistema affidabile . Yeehaa!
Izzy

@sgiebels Hai per caso anche una soluzione su come utilizzare le credenziali (dalle credenziali di sistema o altro) nella connessione WLAN 802.1X? Sembra che il keystore / portachiavi sul dispositivo (/ data / misc / key ...) utilizzi la password per la crittografia, quindi: ogni volta che sono necessarie le credenziali (connessione alla WLAN), il PIN / password viene richiesto di nuovo un ( nel mio sistema) il blocco è di nuovo attivo.
Ivin,

Questo ha funzionato bene, tranne per il fatto che ho avuto un problema con la formattazione dei certificati a causa delle terminazioni delle righe dos. dos2unix li convertirà, quindi verificherà di avere il finale corretto sulla riga del certificato (il mio sembrava così: -----END CERTIFICATE-----Certificate:che ha causato anche un errore di analisi.
deed02392

4

Ho scoperto una soluzione che funziona senza software aggiuntivo o copia manuale dei file:

  1. Imposta la schermata di blocco su "sequenza". Immettere una sequenza e un PIN di sblocco. Ricorda il PIN di sblocco.
  2. Installa il tuo certificato utente.
  3. Spegni e riaccendi lo schermo.
  4. Immettere lo schema erroneamente alcune volte, fino a quando lo "schema dimenticato?" appare l'opzione.
  5. Fai clic su "Hai dimenticato la sequenza?", Scorri verso il basso, inserisci il PIN di sblocco e conferma con "OK".
  6. Chiudi la finestra "Impostazioni sblocco schermo" con il pulsante Indietro senza selezionare un'opzione .

Il sistema è ora impostato su "Swipe unlock", ma il certificato utente è ancora utilizzabile (testato con il browser Web e un'app personalizzata utilizzando DefaultHttpClient).

Testato su Android 4.1.2 su Galaxy Tab 2 10.1.


non funziona con wpa-enterprise / TLS su LG G2, i certificati scompaiono dopo questo
Eugene Petrov,

Questo è un grande bug! Grazie! (ha funzionato perfettamente con Galaxy S5, Android 6)
Adiel,

0
  • È possibile utilizzare i profili di CyanogenMod .
    (Per altri lettori: questo richiede la versione personalizzata CyanogenMod Rom 9+)

    Basta creare o modificare un profilo esistente e disattivare "blocco schermo" lì.

    È: Impostazioni di sistema-> Profili-> Predefinito-> Modalità blocco schermo-> Disabilitato

  • Integra il tuo certificato nel file keystore Android standard

    Vedi l'eccellente howto di CAcert qui

    Non sono sicuro, tuttavia, se è possibile farlo con un certificato autofirmato (potrebbe essere necessario passare a una CA autocostruita forse (utilizzare tinyca per un bel gui-tool su * nix)).


Questo non funziona (più). Non appena hai installato i certificati (ad esempio quelli di cacert.org), questa opzione / voce nel profilo è disattivata.
azzurrato

-1

Ho trovato un modo per risolvere il problema, ma richiede root e può funzionare solo con CA root, autofirmate o intermedie.

Se disponi di un certificato non attendibile da Android, quando lo aggiungi, viene inserito nel negozio di certificati personali. Quando aggiungi un certificato in questo archivio personale di certificati, il sistema richiede un livello di sicurezza più elevato per sbloccare il dispositivo. Ma se riesci ad aggiungere il tuo certificato all'archivio di sistema, allora non hai questo requisito. Ovviamente, per aggiungere un certificato all'archivio di sistema è richiesto root, ma è abbastanza semplice.

Ecco come farlo:

1 - Aggiungi il tuo certificato normalmente. Ad esempio, il mio certificato è stato chiamato some.crt. Sarà memorizzato nel tuo negozio personale e Android ti chiederà un pin / password ... Procedi.

2 - Con un file manager con funzionalità di root, sfoglia i file in /data/misc/keychain/cacerts-addedo /data/misc/keystore. Dovresti vedere un file qui chiamato 1000_USRCERT_someè il certificato che hai aggiunto nel passaggio 1.

3 - Sposta questo file in system/etc/security/cacerts (dovrai montare la partizione di sistema r / w)

4 - Riavvia il telefono

5 - Ora puoi cancellare il pin / password che hai impostato per sbloccare il dispositivo.

Ha funzionato per me con un certificato autofirmato su Android 4.4.2. Spero che sia d'aiuto!


È interessante notare che non hai menzionato la fonte originale , né accreditato in modo appropriato l'autore. Segui Come fare riferimento a materiale scritto da altri .
Firelord
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.