如何管理企业分发证书到期?

时间:2012-02-09 18:20:23

标签: iphone ios enterprise

我们的客户刚刚加入了iOS开发者企业计划。他们已经使用他们的企业发行版对我们的应用程序(由我们开发)进行了签名,并通过MDM在一些设备中成功安装了它。

据我所知,当我的非企业发行证书到期时,我必须更新它。只要设备检测到证书对Apple的OCSP服务器的有效性,此过期就会禁用使用过期证书签名的所有应用。

或者,我可以在到期日之前撤销我的非企业分发,并向Apple请求新的分发。使用已撤销的证书签署的应用程序(例如Ad Hoc beta应用程序)将根据相同的机制禁用。

因此,对于我的开发人员计划,我不能同时拥有两个有效的分发证书。好吧,作为开发人员,我们可以忍受这一点。

我们的客户可以与iOS Developer Enterprise计划同时拥有两个有效的企业分发证书吗?

根据Apple的说法:

  

证书验证

     

第一次在设备上打开应用程序时,分发   通过联系Apple的OCSP服务器验证证书。除非   证书已被撤销,应用程序可以运行。无能为力   联系或从OCSP服务器获得响应不会被解释为   撤销。要验证状态,设备必须能够到达   ocsp.apple.com。请参阅“网络配置要求”(第9页)。

     

OCSP响应在指定的时间段内缓存在设备上   由OCSP服务器 - 目前在3到7天之间。的有效性   在设备具有之前,不会再次检查证书   重新启动并且缓存的响应已过期。如果是撤销   在那时收到,该应用程序将被禁止运行。撤消   分发证书将使您的所有应用程序无效   分发了。

     

如果分发证书,应用程序将无法运行   已过期。目前,分发证书对一个证书有效   年。证书到期前几周,请求新的证书   来自iOS DevCenter的分发证书,用它来创建新的   分发配置文件,然后重新编译和分发   向您的用户更新了应用。请参阅“提供更新的应用程序”(第10页)

我是否遗漏了某些内容,或者有可能是因为有数百个拥有多个内部应用程序的iOS设备的员工在等待重新签名的应用程序时无法打开他们的应用程序?

5 个答案:

答案 0 :(得分:88)

这是我们自过去两年以来一直在处理的问题。内部应用程序在1年后停止工作。对于像我们这样的组织来说,重建数百个应用程序并在每年将其重新部署到数千台设备上是一项艰巨的工作。

对于我们来说,这是一个为期一个月的练习,我们重建所有应用程序并通知所有用户通过分销渠道获得新的应用程序。仍然每年都有一些用户留下了非功能性应用程序。

我已向Apple提交了增强请求(错误ID#9848075 ),我仍在等待回复。

编辑: 上面提到的错误现在已经关闭。以下是官方回复:

  

企业的分销证书现在为期3年。

答案 1 :(得分:10)

现在是“缺失”链接 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开发人员中心的证书,用它来创建新的发行版   配置配置文件,然后重新编译和分发更新的配置文件   应用给您的用户。请参阅提供更新的应用。

答案 2 :(得分:4)

Apple修改了文档......

  

如果应用程序的分发证书已过期,则该应用程序将无法运行。   目前,发行证书有效期为一年,而您   可以同时激活两个证书。第二   证书旨在提供重叠期间   您可以在第一个证书到期之前更新您的应用程序。

     

例如,在您的分发证书到期前六个月,   创建一个新证书并使用它来更新您的应用程序   年。为此,您需要从中请求新的分发证书   iOS开发人员中心(不要撤销您的第一个证书),使用它   为每个应用创建新的分发配置文件,   然后重新编译并将更新的应用程序分发给您的用户。   请参阅提供更新的应用。

答案 3 :(得分:4)

注意:下面的分层文本表示解释解决方案的信息的路径。您必须导航到侧边栏中的项目(展开旁边的箭头)才能看到解决方案(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开发人员中心申请第二个分发证书时,请确保不要撤销第一个证书。

没有一种无缝的方法可以做到这一点,所以我们所有的内部客户都不需要看到这是非常可怕的缺乏功能。

答案 4 :(得分:0)

只是一个小的跟进。

原件:

“据我所知,当我的非企业分发证书到期时,我必须更新它。一旦设备检查证书对Apple的OCSP服务器的有效性,此过期将禁用所有使用过期证书签名的应用程序。”

如果我理解正确的话,这是不正确的。来自Apple的This信息和正如here所解释的相反。

  

如果我的证书过期或被撤销会怎样?

     

...

     

iOS分发证书(App Store)

     
      
  • 如果您的iOS开发者计划会员资格有效,则App Store上的现有应用程序不会受到影响。但是,您将无法再向App Store提交新的应用程序或更新。
  •