我们的客户刚刚加入了 iOS 开发者企业计划。他们已经使用他们的企业发行版签署了应用程序(由我们开发),并通过 MDM 在某些设备上成功安装了它。
据我所知,我的非企业分发证书何时到期,我必须更新它。一旦设备根据 Apple 的 OCSP 服务器检查证书的有效性,此过期将禁用所有使用过期证书签名的应用程序。
或者,我可以在到期日期之前撤销我的非企业分发并向 Apple 申请新分发。使用已撤销证书签名的应用程序,例如 Ad Hoc beta 应用程序,将根据相同的机制被禁用。
因此,对于我的开发人员程序,我不能同时拥有两个有效的分发证书。好的,作为开发人员,我们可以忍受。
我们的客户能否通过 iOS Developer Enterprise Program 同时拥有两个有效的 Enterprise Distribution 证书?
据苹果称:
证书验证 第一次在设备上打开应用程序时,通过联系 Apple 的 OCSP 服务器验证分发证书。除非证书已被吊销,否则应用程序可以运行。无法联系或从 OCSP 服务器获得响应不会被解释为撤销。要验证状态,设备必须能够访问 ocsp.apple.com。请参阅“网络配置要求”(第 9 页)。 OCSP 响应在 OCSP 服务器指定的时间段内缓存在设备上,目前为 3 到 7 天。在设备重新启动并且缓存的响应过期之前,不会再次检查证书的有效性。如果当时收到撤销,应用程序将被阻止运行。撤销分发证书将使您分发的所有应用程序无效。如果分发证书已过期,应用程序将无法运行。目前,分销证书有效期为一年。在您的证书到期前几周,从 iOS DevCenter 请求一个新的分发证书,使用它来创建新的分发配置文件,然后重新编译并将更新的应用程序分发给您的用户。请参阅“提供更新的应用程序”(第 10 页)
我是否遗漏了什么,或者员工可能拥有数百台 iOS 设备和几个内部应用程序,在等待辞职的应用程序时无法打开他们的应用程序?
这是我们自过去 2 年以来一直在处理的问题。内部应用程序会在 1 年后停止工作。对于像我们这样的组织来说,每年重建数百个应用程序并将其重新部署到数千台设备上是一项大规模的工作。
对我们来说,这是一个为期一个月的练习,我们重建所有应用程序并通知所有用户通过分发渠道获取新应用程序。仍然每年都会有一些用户使用非功能性应用程序。
我已为此向 Apple 提交了增强请求(错误 ID#9848075),但仍在等待回复。
编辑:上述错误现已关闭。以下是官方回复:
企业的分销证书现在的有效期为 3 年。
“缺失”链接现在是 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 开发中心申请新的分发证书,使用它来创建新的分发配置文件,然后重新编译更新的应用程序并将其分发给您的用户。请参阅提供更新的应用程序。
注意:下面的分层文本指示解释解决方案的信息的路径。您必须导航到(展开旁边的箭头)侧边栏中的项目才能查看解决方案(Mani,请不要删除此信息 - 它可以将查看者引导至解决方案。)
来自 Apple 的当前文档:
Distributing Enterprise Apps for iOS Devices
In-house apps
Certificate validation
Providing updated apps
从提供更新的应用程序:
您可以同时激活两个分发证书;每个都独立于另一个。第二个证书旨在提供一个重叠期,在此期间您可以在第一个证书过期之前更新您的应用程序。从 iOS 开发中心请求您的第二个分发证书时,请确保您没有吊销您的第一个证书。
没有一种无缝的方式来做到这一点,因此我们所有的内部客户都不需要看到这是相当可怕的功能缺乏。
苹果修改了文档...
如果其分发证书已过期,应用程序将无法运行。目前,分发证书的有效期为一年,您可以同时拥有两个有效的证书。第二个证书旨在提供一个重叠期,在此期间您可以在第一个证书过期之前更新您的应用程序。例如,在您的分发证书到期前六个月,创建一个新证书并使用它来更新您下一年的应用程序。为此,您从 iOS 开发中心请求一个新的分发证书(不要撤销您的第一个证书),使用它为您的每个应用程序创建新的分发配置文件,然后重新编译并将更新的应用程序分发给您的用户.请参阅提供更新的应用程序。
只是一个小的跟进。
原来的:
“据我所知,当我的非企业分发证书到期时,我必须对其进行更新。一旦设备根据 Apple 的 OCSP 服务器检查证书的有效性,此到期就会禁用所有使用过期证书签名的应用程序。”
如果我理解正确的话,这并不完全正确。 This 来自 Apple 的信息,正如所解释的 here 所说的相反。
如果我的证书过期或被吊销怎么办? ... iOS 分发证书(App Store) 如果您的 iOS Developer Program 会员资格有效,您在 App Store 上的现有应用程序将不会受到影响。但是,您将无法再向 App Store 提交新的应用程序或更新。