¿Cuándo iOS verifica la validez de los certificados de empresa?

12

Aquí hay un artículo que debería dar un poco más. contexto (y vea mi comentario en él, mismo nombre de usuario, para obtener información adicional).

Los desarrolladores de iOS pueden distribuir aplicaciones fuera de la App Store utilizando un perfil de aprovisionamiento de Enterprise. Esto permite que las aplicaciones se instalen incluso desde Safari sin la necesidad de la aprobación de la App Store, lo que permite a los no desarrolladores probar las versiones beta, las compañías a distribuir aplicaciones internas a los empleados, etc.

Sin embargo, tanto Apple como el titular de la cuenta empresarial conservan la capacidad de revocar el certificado que respalda el perfil de aprovisionamiento, lo que evitaría que más usuarios instalen la aplicación (en el caso del artículo vinculado anteriormente, Apple revocó el perfil de empresa utilizado para firme el emulador porque lo consideraron abuso de la libertad otorgada por la distribución de la empresa) ... excluyendo, por supuesto, el "vacío legal" utilizado para evitar esa comprobación: simplemente cambie la fecha de su sistema a cualquier fecha del pasado.

Esto genera muchas preguntas acerca de cómo se implementa la validación de certificados, pero siento mucha curiosidad por lo que sucede cuando no se explota la laguna. ¿En qué momento llega el dispositivo a Apple para asegurarse de que no se haya revocado el certificado? ¿En el momento en que se instala la aplicación? Si ese es el caso, ¿es "suave" (permite la instalación a menos que se detecte explícitamente la revocación) o "difícil" (prohíbe la instalación a menos que el certificado sea absolutamente válido)? ¿O el dispositivo se registra periódicamente con Apple para obtener una lista negra / lista blanca actualizada de identidades de certificados empresariales? ¿O es algo incluso diferente?

    
pregunta n00neimp0rtant 12.10.2014 - 19:50
fuente

2 respuestas

5

Del documento Referencia técnica de implementación de iOS 7 (abre un PDF) :

  

Validación de certificado
  La primera vez que un usuario abre una aplicación,   El certificado de distribución se valida contactando al OCSP de Apple.   servidor. A menos que el certificado haya sido revocado, la aplicación tiene permiso para   correr. La incapacidad para contactar u obtener una respuesta del servidor OCSP no es   interpretado como una revocación. Para verificar el estado, el dispositivo debe ser   capaz de llegar a ocsp.apple.com. Consulte “Configuración de red   Requisitos, ”anteriormente en este apéndice.

La respuesta OCSP está en caché   en el dispositivo por el período de tiempo especificado por el OCSP   servidor — actualmente, entre tres y siete días. La validez de la   El certificado no se verifica de nuevo hasta que el dispositivo se haya reiniciado y el   la respuesta en caché ha caducado.

Si se recibe una revocación en ese momento,   La aplicación no puede ejecutarse.

Revocar un certificado de distribución   invalida todas las aplicaciones que hayas firmado con él. Deberías revocar un   certificado solo como último recurso, si está seguro de que la clave privada es   perdido o se cree que el certificado está comprometido.

    
respondido por el RoraΖ 16.12.2014 - 16:44
fuente
1

La respuesta más actualizada se puede encontrar en la Referencia de implementación de iOS para empresas de Apple:

enlace Ver: validación de certificados

  

La primera vez que un usuario abre una aplicación, el certificado de distribución se valida poniéndose en contacto con el servidor OCSP de Apple. Si el certificado ha sido revocado, la aplicación no se iniciará. Para verificar el estado, el dispositivo debe poder acceder a ocsp.apple.com.

    
respondido por el Ashton-W 19.05.2016 - 07:38
fuente

Lea otras preguntas en las etiquetas