web-dev-qa-db-ja.com

Enterprise Distribution証明書の有効期限を管理する方法は?

お客様は、iOS Developer Enterprise Programに参加しました。彼らは、エンタープライズディストリビューションでアプリ(当社が開発)に署名し、MDMを介して一部のデバイスに正常にインストールしました。

非企業向け配布証明書の有効期限が切れる場合、それを更新する必要があります。この有効期限により、デバイスがAppleのOCSPサーバーに対して証明書の有効性を確認するとすぐに、期限切れの証明書で署名されたすべてのアプリが無効になります。

別の方法として、有効期限が切れる前に非エンタープライズディストリビューションを取り消して、Appleに新しいものを要求することもできます。アドホックベータアプリなど、失効した証明書で署名されたアプリケーションは、同じメカニズムに従って無効になります。

したがって、私の開発者プログラムでは、2つの有効な配布証明書を同時に持つことはできません。わかりました、開発者として私たちはそれで生きることができます。

お客様は、iOS Developer Enterprise Programと同時に2つの有効なEnterprise Distribution証明書を取得できますか?

Appleによると:

証明書の検証

デバイスでアプリケーションを初めて開くと、AppleのOCSPサーバーに接続することにより、配布証明書が検証されます。証明書が取り消されていない限り、アプリの実行は許可されます。 OCSPサーバーに接続できない、またはOCSPサーバーから応答を取得できないことは、失効と解釈されません。ステータスを確認するには、デバイスがocsp.Apple.comに到達できる必要があります。 「ネットワーク構成要件」(9ページ)を参照してください。

OCSP応答は、OCSPサーバーで指定された期間(現在は3〜7日間)デバイスにキャッシュされます。デバイスが再起動し、キャッシュされた応答が期限切れになるまで、証明書の有効性は再度チェックされません。その時点で失効が受信されると、アプリは実行できなくなります。配布証明書を取り消すと、配布したすべてのアプリケーションが無効になります。

配布証明書の有効期限が切れている場合、アプリは実行されません。現在、配布証明書は1年間有効です。証明書の有効期限が切れる数週間前に、iOS DevCenterに新しい配布証明書を要求し、それを使用して新しい配布プロビジョニングプロファイルを作成し、更新されたアプリを再コンパイルしてユーザーに配布します。 「更新されたアプリの提供」(10ページ)を参照してください

何かが足りないのですか、あるいは、複数のIn Houseアプリを持つ潜在的に数百のiOSデバイスを持つ従業員が、辞任したアプリを待つ間、自分のアプリケーションを開けない可能性はありますか?

60
zapador

これは、過去2年間から取り組んできた問題です。社内アプリケーションは1年後に機能しなくなります。私たちのような組織が毎年何百ものアプリを再構築し、何千ものデバイスに再展開することは大規模な演習です。

私たちにとっては、すべてのアプリを再構築し、流通チャネルを通じて新しいアプリを入手するようにすべてのユーザーに通知する1か月の演習です。それでも毎年、一部のユーザーは機能しないアプリを残しています。

このために、Appleに機能拡張リクエストを提出しました(Bug ID#9848075)。まだ返信を待っています。

編集:上記のバグは現在クローズされています。公式の回答は次のとおりです。

企業向けの配布証明書の有効期間は3年です。

90
Vin

「欠落」リンクは現在 http://help.Apple.com/iosdeployment-apps/?lang=en#app43ad74a です

証明書の有効期限が切れる数週間前に、iOS Dev Centerから新しい配布証明書を要求し、それを使用して新しい配布プロビジョニングプロファイルを作成し、更新されたアプリを再コンパイルしてユーザーに配布します。

このドキュメントでは、アプリの更新方法についても説明しています。更新メカニズムをアプリに簡単に組み込むフレームワークがあります。例:「ホッケー」、 https://github.com/therealkerni/HockeyKit

記事全体を引用:

証明書の検証

ユーザーがアプリを初めて開いたとき、AppleのOCSPサーバーに連絡することにより、配布証明書が検証されます。証明書が取り消されていない限り、アプリの実行は許可されます。 OCSPサーバーに接続できない、またはOCSPサーバーから応答を取得できないことは、失効とは解釈されません。ステータスを確認するには、デバイスがocsp.Apple.comに到達できる必要があります。ネットワーク構成要件を参照してください。

OCSP応答は、OCSPサーバーによって指定された期間(現在は3〜7日間)デバイスにキャッシュされます。証明書の有効性は、デバイスが再起動し、キャッシュされた応答が期限切れになるまで再度チェックされません。その時点で失効が受信されると、アプリは実行できなくなります。配布証明書を取り消すと、配布したすべてのアプリが無効になります。

配布証明書の有効期限が切れている場合、アプリは実行されません。現在、配布証明書は1年間有効です。証明書の有効期限が切れる数週間前に、iOS Dev Centerから新しい配布証明書を要求し、それを使用して新しい配布プロビジョニングプロファイルを作成し、更新されたアプリを再コンパイルしてユーザーに配布します。更新されたアプリの提供を参照してください。

10
Anton

注:以下の階層テキストは、ソリューションを説明する情報へのパスを示しています。ソリューションを表示するには、サイドバーの項目に移動する(横にある矢印を展開する)必要があります(マニ、この情報は削除しないでください。視聴者をソリューションに誘導するためにあります)。

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

更新されたアプリの提供から:

2つの配布証明書を同時にアクティブにすることができます。それぞれが互いに独立しています。 2番目の証明書は、最初の証明書の有効期限が切れる前にアプリを更新できる重複期間を提供することを目的としています。 iOS Dev Centerから2番目の配布証明書を要求する場合、最初の証明書を失効させないでください。

これをシームレスに行う方法がないため、社内のすべての顧客がこれを確認する必要がないのは、かなりひどい機能の欠如です。

4
Alex Zavatone

Appleはドキュメントを改訂しました...

配布証明書の有効期限が切れると、アプリは実行されません。現在、配布証明書は1年間有効であり、2つの証明書を同時にアクティブにすることができます。 2番目の証明書は、最初の証明書の有効期限が切れる前にアプリを更新できる重複期間を提供することを目的としています。

たとえば、配布証明書の有効期限が切れる6か月前に、新しい証明書を作成し、それを使用して翌年のアプリを更新します。これを行うには、iOS Dev Centerから新しい配布証明書を要求し(最初の証明書を取り消さないでください)、それを使用して各アプリの新しい配布プロビジョニングプロファイルを作成し、更新されたアプリをユーザーに再コンパイルして配布します。更新されたアプリの提供を参照してください。

4
tdios

ほんの小さなフォローアップ。

元の:

「非企業向け配布証明書の有効期限が切れる場合、それを更新する必要があります。この有効期限は、デバイスがAppleのOCSPサーバーに対する証明書の有効性を確認するとすぐに、期限切れの証明書で署名されたすべてのアプリを無効にします。」

私がそれを正しく理解していれば、これは全く真実ではありません。 This info from Appleそして説明通り here は反対を言います。

証明書の有効期限が切れたり失効した場合はどうなりますか?

...

iOS配布証明書(App Store)

  • IOSデベロッパープログラムのメンバーシップが有効な場合、App Storeの既存のアプリは影響を受けません。ただし、新しいアプリやアップデートをApp Storeに送信することはできなくなります。
0
Kost