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

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

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

В качестве альтернативы, я могу отозвать свой дистрибутив не для предприятий до истечения срока годности и попросить новый для 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 не могут открывать свои приложения, пока они ждут отказавшихся приложений?

5 ответов

Решение

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

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

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

РЕДАКТИРОВАТЬ: вышеупомянутая ошибка закрыта сейчас. Вот официальный ответ:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Оригинал:

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

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

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

...

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

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