¿Cómo administrar la expiración del certificado de distribución de la empresa?

Nuestro cliente acaba de unirse al Progtwig para desarrolladores de iOS. Han firmado la aplicación (desarrollada por nosotros) con Enterprise Distribution y la instalaron con éxito en algunos dispositivos a través de MDM.

Hasta donde yo sé, cuando expira mi certificado de distribución no empresarial, tengo que renovarlo. Este vencimiento inhabilita todas las aplicaciones firmadas con el certificado caducado tan pronto como los dispositivos verifiquen la validez del certificado contra el servidor OCSP de Apple.

Alternativamente, puedo revocar mi distribución no empresarial antes de la fecha de vencimiento y solicitar una nueva a Apple. Las aplicaciones firmadas con el certificado revocado, por ejemplo, las aplicaciones beta Ad Hoc, se desactivarán de acuerdo con el mismo mecanismo.

Entonces, con mi progtwig de desarrollador no puedo tener dos certificados de distribución válidos al mismo tiempo. Ok, como desarrolladores podemos vivir con eso.

¿Puede nuestro cliente tener dos certificados de Distribución Enterprise válidos al mismo tiempo con el Progtwig para desarrolladores de iOS?

De acuerdo con Apple:

Validación de certificado

La primera vez que se abre una aplicación en un dispositivo, el certificado de distribución se valida contactando al servidor OCSP de Apple. A menos que el certificado haya sido revocado, la aplicación puede ejecutarse. La imposibilidad de contactar u obtener una respuesta del servidor OCSP no se interpreta como una revocación. Para verificar el estado, el dispositivo debe poder alcanzar ocsp.apple.com. Consulte “Requisitos de configuración de red” (página 9).

La respuesta OCSP se guarda en caché en el dispositivo durante el período de tiempo especificado por el servidor OCSP, actualmente entre 3 y 7 días. La validez del certificado no se volverá a verificar hasta que el dispositivo se haya reiniciado y la respuesta en caché haya expirado. Si se recibe una revocación en ese momento, la aplicación no podrá ejecutarse. Revocar un certificado de distribución invalidará todas las aplicaciones que haya distribuido.

Una aplicación no se ejecutará si el certificado de distribución ha expirado. Actualmente, los certificados de distribución son válidos por un año. Unas semanas antes de que expire su certificado, solicite un nuevo certificado de distribución del iOS DevCenter, úselo para crear nuevos perfiles de suministro de distribución y luego vuelva a comstackr y distribuir las aplicaciones actualizadas a sus usuarios. Consulte “Proporcionar aplicaciones actualizadas” (página 10)

¿Me estoy perdiendo algo o es posible que los empleados, potencialmente con cientos de dispositivos iOS con varias aplicaciones de In House, no puedan abrir sus aplicaciones mientras esperan las aplicaciones que se han resignado?

Este es un problema que hemos estado tratando desde los últimos 2 años. Las aplicaciones internas dejan de funcionar después de 1 año. Es un ejercicio masivo para una organización como la nuestra reconstruir cientos de aplicaciones y volver a desplegarlas en miles de dispositivos cada año.

Para nosotros, es un ejercicio de un mes en el que reconstruimos todas nuestras aplicaciones e informamos a todos los usuarios para que obtengan nuevas a través del canal de distribución. Todavía todos los años, algunos usuarios quedan con aplicaciones no funcionales.

He archivado una solicitud de mejora con Apple ( Bug ID # 9848075 ) para esto y todavía estoy esperando una respuesta.

EDITAR: El error mencionado anteriormente está cerrado ahora. Aquí está la respuesta oficial:

Los certificados de distribución para empresas tienen ahora una duración de 3 años.

El enlace “faltante” ahora es http://help.apple.com/iosdeployment-apps/?lang=en#app43ad74a3

Unas semanas antes de que caduque su certificado, solicite un nuevo certificado de distribución del Centro de desarrollo de iOS, úselo para crear nuevos perfiles de suministro de distribución y luego vuelva a comstackr y distribuir las aplicaciones actualizadas a sus usuarios.

El documento también describe cómo actualizar aplicaciones. Hay marcos que incluyen el mecanismo de actualización fácilmente en su aplicación. Por ejemplo, “Hockey”, https://github.com/therealkerni/HockeyKit

Citando el artículo completo:

Validación de certificado

La primera vez que un usuario abre una aplicación, el certificado de distribución se valida contactando al servidor OCSP de Apple. A menos que el certificado haya sido revocado, la aplicación puede ejecutarse. La imposibilidad de contactar u obtener una respuesta del servidor OCSP no se interpreta como una revocación. Para verificar el estado, el dispositivo debe poder alcanzar ocsp.apple.com. Ver los requisitos de configuración de red.

La respuesta OCSP se almacena en caché en el dispositivo durante el período de tiempo especificado por el servidor OCSP, actualmente, entre 3 y 7 días. La validez del certificado no se verifica nuevamente hasta que el dispositivo se haya reiniciado y la respuesta en caché haya expirado. Si se recibe una revocación en ese momento, no se puede ejecutar la aplicación. La revocación de un certificado de distribución invalida todas las aplicaciones que has distribuido.

Una aplicación no se ejecutará si el certificado de distribución ha expirado. Actualmente, los certificados de distribución son válidos por un año. Unas semanas antes de que caduque su certificado, solicite un nuevo certificado de distribución del Centro de desarrollo de iOS, úselo para crear nuevos perfiles de suministro de distribución y luego vuelva a comstackr y distribuir las aplicaciones actualizadas a sus usuarios. Consulte Proporcionar aplicaciones actualizadas.

Apple revisó la documentación …

Una aplicación no se ejecutará si su certificado de distribución ha expirado. Actualmente, los certificados de distribución son válidos por un año, y puede tener dos certificados activos al mismo tiempo. El segundo certificado está destinado a proporcionar un período de superposición durante el cual puede actualizar sus aplicaciones antes de que caduque el primer certificado.

Por ejemplo, seis meses antes de que expire su certificado de distribución, cree un nuevo certificado y úselo para actualizar sus aplicaciones para el próximo año. Para ello, solicite un nuevo certificado de distribución del Centro de desarrollo de iOS (no revoque su primer certificado), úselo para crear nuevos perfiles de suministro de distribución para cada una de sus aplicaciones, y luego recompile y distribuya las aplicaciones actualizadas a sus usuarios. . Consulte Proporcionar aplicaciones actualizadas.

Nota: El siguiente texto jerárquico indica la ruta a la información que explica la solución. Debe navegar hacia (expandir las flechas al lado) los elementos en la barra lateral para ver la solución (Mani, por favor no elimine esta información, está ahí para dirigir al espectador a la solución).

Documentación actual de Apple:

Distributing Enterprise Apps for iOS Devices In-house apps Certificate validation Providing updated apps 

http://developer.apple.com/library/ios/#featuredarticles/FA_Wireless_Enterprise_App_Distribution/Introduction/Introduction.html

Desde Proporcionar aplicaciones actualizadas:

Puede tener dos certificados de distribución activos al mismo tiempo; cada uno es independiente del otro. El segundo certificado está destinado a proporcionar un período de superposición durante el cual puede actualizar sus aplicaciones antes de que caduque el primer certificado. Cuando solicite su segundo certificado de distribución desde el Centro de desarrollo de iOS, asegúrese de no revocar su primer certificado.

Que no hay una manera perfecta de hacer esto para que todos nuestros clientes internos no necesiten ver esto es una terrible falta de funcionalidad.

Solo un pequeño seguimiento.

Original:

“Por lo que sé, cuando expire mi certificado de distribución no empresarial, tengo que renovarlo. Esta expiración deshabilita todas las aplicaciones firmadas con el certificado caducado tan pronto como los dispositivos verifiquen la validez del certificado contra el servidor OCSP de Apple”.

Esto no es del todo cierto, si lo entiendo correcto. Esta información de Apple y como se explica aquí dice lo contrario.

¿Qué sucede si mi certificado expira o ha sido revocado?

Certificado de distribución iOS (App Store)

  • Si su membresía en el Progtwig para desarrolladores de iOS es válida, sus aplicaciones existentes en la tienda de aplicaciones no se verán afectadas. Sin embargo, ya no podrá enviar nuevas aplicaciones o actualizaciones a la App Store.