63 votes

Comment gérer l'expiration des certificats Enterprise Distribution ?

Notre client vient de rejoindre le programme iOS Developer Enterprise. Ils ont signé l'application (développée par nous) avec leur distribution d'entreprise et l'ont installée avec succès dans certains appareils via MDM.

Pour autant que je sache, lorsque mon certificat de distribution non-entreprise expire, je dois le renouveler. Cette expiration désactive toutes les applications signées avec le certificat expiré dès que les appareils vérifient la validité du certificat auprès du serveur OCSP d'Apple.

Sinon, je peux révoquer ma distribution non-entreprise avant la date d'expiration et en demander une nouvelle à Apple. Les applications signées avec le certificat révoqué, par exemple les applications bêta ad hoc, seront désactivées selon le même mécanisme.

Ainsi, avec mon programme de développement, je ne peux pas avoir deux certificats de distribution valides en même temps. Ok, en tant que développeurs nous pouvons vivre avec ça.

Notre client peut-il avoir deux certificats Enterprise Distribution valides en même temps avec le programme iOS Developer Enterprise ?

Selon Apple :

Validation du certificat

La première fois qu'une application est ouverte sur un appareil, la distribution de distribution est validé en contactant le serveur OCSP d'Apple. À moins que le certificat n'ait été révoqué, l'application est autorisée à fonctionner. L'impossibilité de de contacter ou d'obtenir une réponse du serveur OCSP n'est pas interprétée comme une révocation. Pour vérifier l'état, l'appareil doit être en mesure d'accéder à ocsp.apple.com. Reportez-vous à la section "Configuration réseau requise" (page 9).

La réponse OCSP est mise en cache sur l'appareil pendant la période spécifiée par le serveur OCSP. par le serveur OCSP, actuellement entre 3 et 7 jours. La validité du certificat certificat ne sera pas vérifiée à nouveau tant que l'appareil n'aura pas redémarré et que la réponse mise en cache n'aura pas expiré. redémarré et que la réponse mise en cache ait expiré. Si une révocation est Si une révocation est reçue à ce moment-là, le fonctionnement de l'application sera empêché. Révoquer certificat de distribution invalidera toutes les applications que vous avez distribuées. applications que vous avez distribuées.

Une application ne fonctionnera pas si le certificat de distribution a expiré. Actuellement, les certificats de distribution sont valables pour un année. Quelques semaines avant l'expiration de votre certificat, demandez un nouveau certificat de distribution au DevCenter iOS. certificat de distribution auprès de l'iOS DevCenter, utilisez-le pour créer de nouveaux profils de distribution, puis recompilez et distribuez les applications mises à jour à vos clients. les applications mises à jour à vos utilisateurs. Voir "Fournir des applications mises à jour" (page 10).

Est-ce que je rate quelque chose ou est-il possible que les employés, avec potentiellement des centaines d'appareils iOS avec plusieurs applications internes, ne puissent pas ouvrir leurs applications pendant qu'ils attendent les applications résignées ?

93voto

Vin Points 5887

C'est un problème que nous traitons depuis deux ans. Les applications internes cessent de fonctionner après un an. Pour une organisation comme la nôtre, c'est un exercice considérable que de reconstruire des centaines d'applications et de les redéployer sur des milliers d'appareils chaque année.

Pour nous, il s'agit d'un exercice d'un mois au cours duquel nous reconstruisons toutes nos applications et informons tous les utilisateurs qu'ils peuvent en obtenir de nouvelles par le biais du canal de distribution. Pourtant, chaque année, certains utilisateurs se retrouvent avec des applications non fonctionnelles.

J'ai déposé une demande d'amélioration auprès d'Apple( Bug ID#9848075 ) pour cela et j'attends toujours une réponse.

EDIT : Le bug mentionné ci-dessus est maintenant fermé. Voici la réponse officielle :

Les certificats de distribution pour les entreprises ont maintenant une durée de 3 ans.

11voto

Anton Points 69

Le lien "manquant" est maintenant http://help.apple.com/iosdeployment-apps/?lang=en#app43ad74a3

Quelques semaines avant l'expiration de votre certificat, demandez un nouveau certificat de distribution à l'iOS Dev Center. distribution auprès de l'iOS Dev Center, utilisez-le pour créer de nouveaux profils de distribution et de distribution, puis recompilez et distribuez les applications mises à jour à vos utilisateurs. mises à jour à vos utilisateurs.

Le document décrit également comment mettre à jour les applications. Il existe des frameworks qui incluent facilement le mécanisme de mise à jour dans votre application. Par exemple "Hockey", https://github.com/therealkerni/HockeyKit

Citation de l'article complet :

Validation du certificat

La première fois qu'un utilisateur ouvre une application, le certificat de distribution est validé en contactant le serveur OCSP d'Apple. Sauf si le certificat n'ait été révoqué, l'application est autorisée à fonctionner. L'impossibilité de contacter ou l'impossibilité de contacter ou d'obtenir une réponse du serveur OCSP n'est pas interprétée comme une révocation. Pour vérifier l'état, l'appareil doit pouvoir atteindre ocsp.apple.com. Voir Configuration réseau requise.

La réponse OCSP est mise en cache sur le périphérique pendant la période de temps spécifiée par le serveur OCSP. spécifiée par le serveur OCSP - actuellement, entre 3 et 7 jours. La validité du certificat validité du certificat n'est pas vérifiée à nouveau tant que l'appareil n'a pas été vérifié. redémarré et que la réponse mise en cache ait expiré. Si une révocation est Si une révocation est reçue à ce moment-là, l'application est empêchée de fonctionner. La révocation d'un certificat de distribution invalide toutes les applications que vous avez distribuées. distribuées.

Une application ne fonctionne pas si le certificat de distribution a expiré. Actuellement, les certificats de distribution sont valables un an. Quelques quelques semaines avant l'expiration de votre certificat, demandez un nouveau nouveau certificat de distribution auprès de l'iOS Dev Center, utilisez-le pour créer de nouveaux profils de distribution, puis recréez le certificat de distribution. de distribution, puis recompilez et distribuez les applications mises à jour à vos utilisateurs. mises à jour à vos utilisateurs. Voir Fournir des applications mises à jour.

4voto

tdios Points 85

Apple a révisé la documentation...

Une application ne fonctionnera pas si son certificat de distribution a expiré. Actuellement, les certificats de distribution sont valables pendant un an, et vous pouvez avoir deux certificats actifs en même temps. Le deuxième certificat est destiné à fournir une période de chevauchement pendant laquelle vous pouvez mettre à jour vos applications avant que le premier certificat n'expire.

Par exemple, six mois avant l'expiration de votre certificat de distribution, créez un nouveau certificat et utilisez-le pour mettre à jour vos applications pour l'année suivante. prochaine année. Pour ce faire, vous demandez un nouveau certificat de distribution au iOS Dev Center (ne révoquez pas votre premier certificat), utilisez-le pour créer de nouveaux profils de distribution pour chacune de vos applications, puis vous recompilez et distribuez les applications mises à jour à vos utilisateurs. Voir Fournir des applications mises à jour.

4voto

Alex Zavatone Points 901

Remarque : Le texte hiérarchique ci-dessous indique le chemin vers les informations qui expliquent la solution. Vous devez naviguer vers (développer les flèches à côté de) les éléments de la barre latérale pour voir la solution (Mani, s'il te plaît, ne supprime pas cette information - elle est là pour diriger le spectateur vers la solution).

Documentation actuelle d'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

De fournir des applications mises à jour :

Vous pouvez avoir deux certificats de distribution actifs en même temps ; chacun est indépendant de l'autre. Le second certificat est destiné à fournir une période de chevauchement pendant laquelle vous pouvez mettre à jour vos applications avant l'expiration du premier certificat. Lorsque vous demandez votre deuxième certificat de distribution à l'iOS Dev Center, veillez à ne pas révoquer votre premier certificat.

Le fait qu'il n'y ait pas de moyen transparent de le faire afin que tous nos clients internes n'aient pas besoin de voir cela est un manque de fonctionnalité plutôt terrible.

0voto

Kost Points 1

Juste un petit suivi.

Original :

"Pour autant que je sache, lorsque mon certificat de distribution non-entreprise expire, je dois le renouveler. Cette expiration désactive toutes les applications signées avec le certificat expiré dès que les appareils vérifient la validité du certificat auprès du serveur OCSP d'Apple."

Ce n'est pas tout à fait vrai, si je comprends bien. Ce site info d'Apple et comme expliqué aquí dit le contraire.

Que se passe-t-il si mon certificat expire ou a été révoqué ?

...

Certificat de distribution iOS (App Store)

  • Si votre adhésion au programme de développement iOS est valide, vos applications existantes sur l'App Store ne seront pas affectées. Cependant, vous ne pourrez plus soumettre de nouvelles applications ou mises à jour sur l'App Store.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X