3 votos

Problema al importar certificado de servidor a CyanogenMod 9.1

Tengo problemas para importar un certificado de servidor autofirmado en mi Sony Ericsson Xperia Arc S con CyanogenMod 9.1. He intentado todo lo que se me ha ocurrido.

Primero, el método habitual:

  • descargué el certificado en formato PEM como cert.crt usando FireFox en la root de la tarjeta SD
  • abrí Configuración en el teléfono, luego Seguridad, instalar desde la tarjeta SD.
  • el teléfono solicita un nombre, se lo doy y luego muestra un mensaje de que el certificado se instaló correctamente
  • si voy a Credenciales de confianza -> Usuario, el certificado no está allí y el sitio para el que lo descargué sigue apareciendo como no confiable
  • también intenté importar subiendo el certificado al sitio y descargándolo en el navegador de Android - mismo resultado - mensaje de éxito y certificado importado ahora.

Segundo, intenté ingresarlo en los certificados del sistema

  • primero, la conversión con estos comandos (el primer comando muestra el hash usado en los otros dos):

    openssl x509 -inform PEM -subject_hash_old -in root.crt | head -1 
    cat root.crt > 5ed36f99.0
    openssl x509 -inform PEM -text -in root.crt -out /dev/null >> 5ed36f99.0
  • luego moví los certificados en el teléfono, monté de nuevo /system con permisos de escritura, moví el certificado a /system/etc/security/cacerts/ y cambié sus permisos a 655. Reiniciar.

  • Después de reiniciar, el certificado se muestra correctamente en la pestaña del sistema de credenciales confiables, pero el sitio web sigue apareciendo como no confiable.

La pregunta es, ¿hay otra opción para instalar el certificado, o para deshabilitar la verificación del certificado para todo el sistema (necesito una aplicación para acceder también a este sitio). ¿O alguien tiene un problema similar?

Debo agregar que también tengo un Xperia Arc (sin la S) con CyanogenMod 9.0, donde los certificados realmente funcionan a través de los dos primeros métodos.

0voto

jww Puntos 121

Tengo problemas para importar un certificado autofirmado en mi Sony Ericsson Xperia Arc S con Cyanogenmod 9.1...

AOSP/Android no soporta certificados de servidor autofirmados para el Almacén de Confianza del sistema, y lo hacen (¿casi?) imposible de importar. Sé que no puedes importarlos para usar en, por ejemplo, com.android.browser. También ver esta pregunta relacionada en Stack Exchange: La instalación de certificado autofirmado afirma éxito, pero Android actúa como si el certificado no estuviera ahí.

Si deseas certificar uno de tus servidores, debes convertirte en tu propia CA. Podrás importar el certificado de tu propia CA. También ver Trabajar con certificados en la ayuda de Android de Google. Observa que trabajan con certificados de CA y de cliente; pero no con certificados de servidor autofirmados.

La falta de disposición del navegador para utilizar certificados de servidor autofirmados será un punto doloroso para Internet de las Cosas (IoT), donde intentas conectarte a tu refrigerador o termostato para programarlo. El grupo de trabajo del W3C ni siquiera ha comenzado a abordar el problema. Ver Propuesta: Marcar HTTP como no seguro en la lista de correos del W3C.

Si deseas convertirte en tu propia CA, entonces ver preguntas como ¿Cómo firmar Solicitudes de Firma de Certificado con tu Autoridad de Certificación? y ¿Cómo crear un certificado autofirmado con openssl?.


Intenté ponerlo en los certificados del sistema....

El Almacén de Confianza del sistema está grabado en la ROM, por lo que realmente no puedes hacer nada con él. Cuando modificas el Almacén de Confianza, en realidad estás ajustando /data/misc/keychain y uno de dos archivos: cacerts-added y cacerts-removed. Ver la Implementación del Almacén de Confianza de ICS de Nikolay Elenkov.

0 votos

¡Gracias! De hecho, pude importar el certificado CA y se muestra en el almacenamiento de credenciales. La aplicación para la que necesitaba importar el certificado todavía no funciona, pero supongo que es un problema diferente. Gracias de nuevo

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