Как управлять истечением срока действия сертификата Enterprise Distribution?

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

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

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

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

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

По словам Apple:

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

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

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

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

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

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

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

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

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

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

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

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

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

Цитируя полную статью:

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

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

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

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

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

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

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

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

Текущая документация от 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 убедитесь, что вы не отменили свой первый сертификат.

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

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

Оригинал:

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

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

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

Сертификат распространения iOS (магазин приложений)

  • Если ваше членство в программе разработчика iOS действительно, ваши существующие приложения в App Store не будут затронуты. Однако вы больше не сможете отправлять новые приложения или обновления в App Store.
  • Как публиковать приложения для программы разработчика для iphone?
  • Как автоматическое обновление корпоративного приложения без взаимодействия с пользователем
  • Распространение моего приложения iOS как собственного приложения для нескольких клиентов
  • iOS Enterprise Developer Program: как Apple скажет случайным клиентам от сотрудников?
  • Молчание обновления приложений для iOS в режиме единого приложения
  • учетная запись предприятия iOS для распространения
  • iOS9 Trust Enterprise Developer без подключения к Интернету
  • Может ли одно мобильное приложение поддерживать несколько разных MDM?
  • Enterprise VS Custom B2B-приложение
  • iOS 8 - Не удается установить корпоративное приложение
  • Обновление приложений iOS с помощью лицензии MDM + Enterprise
  • Давайте будем гением компьютера.