25 votos

Certificado Instalar sin pantalla de bloqueo de PIN obligatorio

El soporte de Google dice :

El tipo de cerradura que es aceptable puede ser predeterminado por su sistema administrador.

¿Dónde puedo definir lo que es aceptable? Puedo regenerar el certificado si es necesario.

Así que puedo usar la pantalla de bloqueo de diapositivas de nuevo.

(Estoy usando CM9 RC1, Android 4.0.4)

1 votos

Aceptaré una solución que instale el certificado en el sistema directamente, evitando así el requisito del pin.

1 votos

Para asegurar tus credenciales es un requisito que utilices uno de los tipos de pantalla de bloqueo que tiene algún tipo de código secreto (patrón, PIN o contraseña). Lo que esa línea te está diciendo es que tu administrador puede (normalmente a través de una política de Exchange ActiveSync) bloquear tu teléfono para que sólo algunos tipos de esos sean aceptados, por ejemplo, puede que no confíen en los bloqueos por patrón, y pueden pensar que los PINs de 4 dígitos no tienen suficientes combinaciones. No dice que puedas desactivar este requisito de seguridad.

2 votos

@GAThrawn Me parece inaceptable si sólo instalo una CA para autenticar mis servidores web mediante SSL (usando certificados autofirmados). Lo entendería si se tratara de firmar claves en el dispositivo, o autenticar al usuario, pero ambas cosas son al revés. Menos mal, solución sgiebels parece funcionar para mí, con algunos ajustes menores que he descrito en los comentarios allí. El único inconveniente hasta ahora: requiere Root.

9voto

sgiebels Puntos 41

He descrito como hacer esto exactamente en mi página, "Instalando certificados CAcert en Android como credenciales de 'sistema' sin pantalla de bloqueo - instrucciones" en http://wiki.pcprobleemloos.nl/Android/cacert

También lo he publicado en el foro de Cyanogenmod: http://forum.cyanogenmod.com/topic/82875-installing-cacert-certificates-on-Android-as-system-credentials-without-lockscreen/

Básicamente, los comandos son:

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

Para obtener el nombre de archivo correcto, entonces convierta el certificado:

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

Cópialos en /system/etc/security/cacerts/ y chmod los nuevos archivos .0 a '644'. Reinicie y verifique. En tu dispositivo Android selecciona 'Clear cerficates' y podrás quitar el pin (introduciendo el pin y cambiando la pantalla de bloqueo a 'none' o 'wipe')

Aquí usé el certificado de root de CAcert, pero probablemente también quieras el certificado class3.crt, o usar tus propios certificados.

0 votos

Mencionas "certificados propios". Acabo de probarlo con mi "CA" (creada usando TinyCA), y en el último paso ("informar") sólo obtengo un error: 140342119224992:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:696:Expecting: TRUSTED CERTIFICATE . Comprobación con No se puede cargar el certificado en openssl El .pem debería coincidir. Pero entonces, tu último comando no cambia nada. ¿Algo va mal, o es lo que se espera de una CA autofirmada/creada? Y antes de empezar a hackear: ¿debería funcionar a pesar de todo?

0 votos

OK, funcionó y fue aceptada con mi CA TinyCA autocreada: openssl x509 -inform PEM -text -fingerprint -in cacert.pem > d6a2705a.0 a continuación, mover el bloque base64 a la parte superior utilizando un editor de texto, colocando el archivo en /system/etc/security/cacerts/ corriendo chown root:root d6a2705a.0 y chmod 0644 d6a2705a.0 desde dentro del directorio - y voilá, aparece como de confianza sistema certificado. ¡Yeehaa!

0 votos

@sgiebels ¿Por casualidad también tiene una solución de cómo utilizar las credenciales (de las credenciales del sistema o de otro tipo) en 802.1X conexión WLAN? Parece que el keystore/keychain en el dispositivo (/data/misc/key...) usa la contraseña para el cifrado, por lo tanto: cada vez que se necesitan las credenciales (conexión a WLAN), el PIN/contraseña se solicita de nuevo y (en mi sistema) el bloqueo está activado de nuevo.

5voto

Laplie Puntos 2983

He descubierto una solución que funciona sin software adicional o copia manual de archivos:

  1. Ponga la pantalla de bloqueo en "patrón". Introduzca un patrón y un PIN de desbloqueo. Recuerde el PIN de desbloqueo.
  2. Instale su certificado de usuario.
  3. Apaga y enciende la pantalla.
  4. Introduce el patrón erróneamente unas cuantas veces, hasta que aparezca la opción "¿Olvidaste el patrón?".
  5. Haga clic en "¿Patrón olvidado?", desplácese hacia abajo, introduzca el PIN de desbloqueo y confirme con "OK".
  6. Cierre la ventana "Configuración de desbloqueo de la pantalla" con el botón de retorno sin seleccionar una opción .

El sistema está ahora configurado para "Swipe unlock", pero el certificado de usuario sigue siendo utilizable (probado con el navegador web y una aplicación personalizada utilizando DefaultHttpClient).

Probado en un Android 4.1.2 en una Galaxy Tab 2 10.1.

0 votos

No funciona con wpa-enterprise/TLS en LG G2, certs desapareció después de esto

0 votos

¡Es un gran bicho! ¡Gracias! (funcionó perfectamente con Galaxy S5, Android 6)

3voto

Locutus Puntos 161

El problema de desactivar la seguridad de la pantalla de bloqueo usando el perfil/conmutador es que los widgets de la pantalla de bloqueo tampoco aparecen, así que no puedes deslizarte para desbloquearlos. Además, cuando reinicias el teléfono, los botones no funcionan hasta que vuelvas a cambiar la configuración.

Otra forma es instalar el certificado como de costumbre y luego hacer una copia de seguridad de los directorios /data/misc/keychain y keystore usando algo que preserve los ACLs como el Root Explorer en una ubicación que soporte los ACLs. Sugiero que los copien en /tmp. Luego borra las credenciales de Configuración y habilita Deslizar para desbloquear. Luego copie las carpetas desde /tmp. La CA se instalará.

0 votos

Esto ya no funciona. En cuanto intentas usar el certificado en algún sitio (como al conectarte a una red wifi) el SO te pide que vuelvas a poner un candado en la pantalla.

0 votos

@CoryKlein Si pulsas cancelar te pedirá un PIN y puedes introducir el último que pusiste. Es necesario para desencriptar los datos.

0 votos

@Kurian - Así que seguí las instrucciones de arriba, y cuando trato de conectarme a una red wifi que dice "Es necesario establecer un PIN de pantalla de bloqueo", hago clic en "Cancelar", y no pasa nada. Si le doy a "Ok" y luego cancelo desde ahí, sigue sin pedirme el PIN.

1voto

Michael Puntos 6

Sólo quería añadir una respuesta que es una variante de la de guttermonk para un caso de uso particular: instalar un certificado en una instancia de Bluestacks. En el momento de escribir este artículo, la aplicación de configuración de Bluestacks se ha modificado de modo que es imposible establecer un PIN o una contraseña, por lo que también es imposible añadir un certificado de usuario. Pero podemos conseguir un certificado root en el sistema con el enfoque de guttermonk más algunos otros pasos. Pude instalar un certificado sin pin ni contraseña y sin instalarlo nunca en el almacén de certificados del usuario.

Requisitos previos:

  • Privilegios de root en la instancia Bluestacks
  • openssl (en el host, por ejemplo, como se proporciona con Git Bash)
  • Una aplicación de terminal en Bluestacks (por ejemplo, Termux)

En mi caso, había descargado el archivo cert dentro de Bluestacks y no tenía openssl disponible allí. Podemos copiar el archivo a la directorio compartido con Windows :

cp /sdcard/Download/mycert.cer /sdcard/windows/BstSharedFolder

En Windows podemos usar el openssl para obtener el hash del certificado (supongo que es eso).

cd C:\ProgramData\BlueStacks\Engine\UserData\SharedFolder # in CMD
cd /c/ProgramData/BlueStacks/Engine/UserData/SharedFolder # in Bash

openssl x509 -inform PEM -subject_hash_old -in mycert.cer | head -1
# e.g. abcd1234

De vuelta en Android, podemos hacer que el partición del sistema escribible Copie el certificado en el directorio de certificados del sistema y corrija sus permisos y propiedad. Monte la partición del sistema de sólo lectura después, por seguridad.

mount -o rw,remount /system

cd /system/etc/security/cacerts/
cp /sdcard/Download/mycert.cer ./abcd1234.0
chmod 644 abcd1234.0
chown system:system abcd1234.0

mount -o ro,remount /system

0voto

ce4 Puntos 11180
  • Puedes hacer uso de CyanogenMod's perfiles .
    (Para otros lectores: esto necesita el CyanogenMod Rom versión 9+)

    Sólo crea o modifica un perfil existente y apaga el "bloqueo de pantalla" allí.

    Es..: Ajustes del sistema->Perfiles->Defecto-> Bloquear el modo de pantalla->Desactivado

  • Integre su certificado en el archivo estándar del almacén de claves de Android

    Vean el excelente método de CAcert aquí

    Sin embargo, no estoy seguro de si puedes hacer esto con un cert autofirmado (tal vez tengas que cambiar a un CA autofirmado tal vez (usa tinyca para una linda herramienta de guiado en *nix)).

0 votos

Esto ya no funciona. En cuanto haya instalado certificados (por ejemplo, los de cacert.org), esta opción/elemento del perfil aparece en gris.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X