Как управлять истечением срока действия сертификата Enterprise Distribution? - PullRequest
58 голосов
/ 09 февраля 2012

Наш клиент только что присоединился к программе iOS Developer Enterprise. Они подписали приложение (разработанное нами) своим корпоративным дистрибутивом и успешно установили его на некоторых устройствах через MDM.

Насколько я знаю, когда истекает срок действия моего сертификата не-корпоративного распространения, я должен продлить его. По истечении этого срока все приложения, подписанные сертификатом с истекшим сроком действия, отключаются, как только устройства проверяют его действительность на сервере Apple OCSP.

В качестве альтернативы, я могу отозвать свой дистрибутив не для предприятий до истечения срока годности и запросить новый для Apple. Приложения, подписанные отозванным сертификатом, например, специальные бета-приложения, будут отключены в соответствии с тем же механизмом.

Таким образом, с моей программой разработчика я не могу иметь два действительных сертификата распространения одновременно. Хорошо, как разработчики, мы можем жить с этим.

Может ли наш клиент иметь два действительных сертификата Enterprise Distribution одновременно с программой iOS Developer Enterprise?

По данным Apple:

Проверка сертификата

Первый раз, когда приложение открывается на устройстве, дистрибутив Сертификат подтвержден путем обращения к серверу Apple OCSP. Если только сертификат был отозван, приложение разрешено запускать. Неспособность связаться или получить ответ от сервера OCSP не интерпретируется как отмена. Чтобы проверить статус, устройство должно быть в состоянии достичь ocsp.apple.com. См. «Требования к конфигурации сети» (стр. 9).

Ответ OCSP кэшируется на устройстве в течение указанного периода времени. сервером OCSP - в настоящее время от 3 до 7 дней. Срок действия сертификат не будет проверен снова, пока устройство не перезапущен, и кешированный ответ истек. Если отзыв полученное в это время приложение будет запрещено запускаться. отменяющий сертификат распространения сделает недействительными все приложения, которые вы распределили.

Приложение не будет работать, если сертификат распространения истек В настоящее время распространяются сертификаты на один год. За несколько недель до истечения срока действия вашего сертификата, запросите новый сертификат распространения от iOS DevCenter, используйте его для создания нового профилей обеспечения распространения, а затем перекомпилировать и распространить обновленные приложения для ваших пользователей. См. «Предоставление обновленных приложений» (стр. 10)

Я что-то упустил или возможно, что сотрудники, потенциально с сотнями устройств iOS с несколькими приложениями In House, не могут открывать свои приложения, пока они ожидают отклоненных приложений?

Ответы [ 5 ]

88 голосов
/ 10 февраля 2012

Это проблема, которой мы занимаемся последние 2 года. Внутренние приложения перестают работать через 1 год. Для такой организации, как наша, это масштабное упражнение по перестройке сотен приложений и повторному развертыванию их на тысячах устройств каждый год.

Для нас это упражнение длиной в месяц, в котором мы перестраиваем все наши приложения и информируем всех пользователей, чтобы получать новые через канал распространения. Тем не менее, каждый год некоторые пользователи остаются с неработающими приложениями.

Я отправил запрос на улучшение в Apple ( Идентификатор ошибки # 9848075 ) для этого и все еще жду ответа.

EDIT: Вышеупомянутая ошибка теперь закрыта. Вот официальный ответ:

Сертификаты распространения для предприятия теперь имеют срок действия 3 года.

10 голосов
/ 22 февраля 2012

Ссылка «отсутствует» теперь http://help.apple.com/iosdeployment-apps/?lang=en#app43ad74a3

За несколько недель до истечения срока действия вашего сертификата запросите новый сертификат распространения в Центре разработки iOS, используйте его для создания новых профилей обеспечения распространения,а затем перекомпилируйте и разошлите обновленные приложения своим пользователям.

В документе также описывается, как обновить приложения.Существуют платформы, которые легко включают механизм обновления в ваше приложение.Например, «Хоккей», https://github.com/therealkerni/HockeyKit

Цитирование полной статьи:

Проверка сертификата

При первом запуске приложения, сертификат распространения проверяется путем обращения к серверу Apple OCSP.Если сертификат не был отозван, приложение может быть запущено.Невозможность связаться или получить ответ от сервера OCSP не интерпретируется как отзыв.Чтобы проверить статус, устройство должно иметь доступ к ocsp.apple.com.См. Требования к конфигурации сети.

Ответ OCSP кэшируется на устройстве в течение периода времени, указанного сервером OCSP, - в настоящее время от 3 до 7 дней.Срок действия сертификата снова не проверяется до тех пор, пока устройство не будет перезапущено и срок действия кэшированного ответа истек.Если отзыв получен в то время, приложение не может быть запущено.Отмена сертификата распространения делает недействительными все распространенные вами приложения.

Приложение не запустится, если срок действия сертификата распространения истек.В настоящее время распространяются сертификаты сроком на один год.За несколько недель до истечения срока действия вашего сертификата запросите новый сертификат распространения в Центре разработки iOS, используйте его для создания новых профилей обеспечения распространения, а затем перекомпилируйте и распространите обновленные приложения среди своих пользователей.См. Предоставление обновленных приложений.

4 голосов
/ 15 ноября 2012

Примечание: приведенный ниже иерархический текст указывает путь к информации, которая объясняет решение. Вы должны перейти к (разверните стрелки рядом с) пунктам на боковой панели, чтобы увидеть решение (Мани, пожалуйста, не удаляйте эту информацию - она ​​там, чтобы направить зрителя к решению.)

Текущая документация от 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

Из предоставления обновленных приложений:

Вы можете иметь два активных сертификата распространения одновременно; каждый независим от другого. Второй сертификат предназначен для обеспечения перекрывающегося периода, в течение которого вы можете обновить свои приложения до истечения срока действия первого сертификата. При запросе второго сертификата распространения в Центре разработки iOS убедитесь, что вы не отзываете свой первый сертификат.

То, что не существует бесшовного способа сделать это, чтобы все наши внутренние клиенты не видели, что это довольно ужасное отсутствие функциональности.

4 голосов
/ 11 июля 2012

Apple пересмотрела документацию ...

Приложение не будет запущено, если срок его сертификата распространения истек. В настоящее время распространяются сертификаты на один год, и вы может иметь два активных сертификата одновременно. Второй сертификат предназначен для обеспечения перекрытия периода, в течение которого Вы можете обновить свои приложения до истечения срока действия первого сертификата.

Например, за шесть месяцев до истечения срока действия вашего сертификата распространения, создайте новый сертификат и используйте его для обновления ваших приложений для следующего год. Для этого вы запрашиваете новый сертификат распространения у iOS Dev Center (не отзывайте свой первый сертификат), используйте его для создавать новые профили обеспечения распространения для каждого из ваших приложений, а затем вы перекомпилируете и распространяете обновленные приложения среди своих пользователей. См. Предоставление обновленных приложений.

0 голосов
/ 20 сентября 2013

Просто небольшое продолжение.

Оригинал:

"Насколько я знаю, когда истекает срок действия моего сертификата распространения, не относящегося к предприятию, я должен продлить его. По истечении этого срока все приложения, подписанные сертификатом с истекшим сроком действия, отключаются, как только устройства проверяют действительность сертификата на сервере Apple OCSP."

Это не совсем верно, если я правильно понимаю. Это информация от Apple и, как объяснено здесь говорит об обратном.

Что произойдет, если мой сертификат истечет или был отозван?

...

Сертификат распространения iOS (App Store)

  • Если ваше членство в Программе разработчиков iOS действительно, ваши существующие приложения в App Store не будут затронуты. Однако вы больше не сможете отправлять новые приложения или обновления в App Store.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...