No parece haber un recurso central de Android que enumere las CA raíz confiables incluidas en el sistema operativo o el navegador predeterminado ( pregunta relacionada en SO ), entonces, ¿cómo puedo averiguar cuáles están incluidas en mi teléfono de manera predeterminada?
Con la cantidad de certificados raíz que se han visto comprometidos y la cantidad de certificados SSL fraudulentos creados en los últimos años, este es un problema para cualquiera que confíe en SSL para la seguridad, ya que de lo contrario no sabrá si desea eliminar cualquier CA confiable .
(no enumero mi fabricante o la versión del sistema operativo ya que estoy buscando un recurso genérico o una solución que debería ser aplicable a cualquier dispositivo)
security
certificates
https
GAThrawn
fuente
fuente
Respuestas:
En ICS o posterior , puede verificar esto en su configuración . Vaya a
Settings->Security->Trusted Credentials
para ver una lista de todas sus CA de confianza, separadas por si fueron incluidas con el sistema o instaladas por el usuario.Las versiones anteriores de Android mantienen sus certificados
/system/etc/security
en un paquete cifrado llamadocacerts.bks
que puedes extraer usando Bouncy Castle y elkeytool
programa. El resumen es extraer primero el paquete usandoadb
(necesita un shell de raíz) y luego puede usar Bouncy Castle para enumerar el contenido del paquete:También hay al menos una aplicación que puedes probar si prefieres no usar el shell: CACertMan (requiere root para modificar la lista, pero debería permitirte ver la lista sin root). Creo que se produjo debido al fiasco de DigiNotar ya que no había formas particularmente fáciles para que un usuario revoque el certificado en ese momento. Dado que los certificados se almacenan de manera diferente en ICS y más tarde, esta aplicación solo funcionará en dispositivos que ejecuten Gingerbread (o anterior), pero de todos modos es obsoleta en ICS / JB.
fuente