【问题标题】:How to manage Enterprise Distribution certificate expiration?如何管理企业分发证书过期?
【发布时间】:2025-12-27 12:40:15
【问题描述】:

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

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

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

因此,对于我的开发人员程序,我不能同时拥有两个有效的分发证书。好的,作为开发人员,我们可以接受。

我们的客户能否通过 iOS 开发者企业计划同时拥有两个有效的企业分发证书?

根据苹果:

证书验证

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

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

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

我是否遗漏了什么,或者有可能员工(可能拥有数百台 iOS 设备和多个 In House 应用程序)在等待辞职应用程序时无法打开他们的应用程序?

【问题讨论】:

标签: iphone ios enterprise


【解决方案1】:

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

对我们来说,这是一个为期一个月的练习,我们重建所有应用程序并通知所有用户通过分发渠道获取新应用程序。每年仍有一些用户使用非功能性应用程序。

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

编辑: 上述错误现已关闭。以下是官方回复:

企业的分发证书现在的有效期为 3 年。

【讨论】:

  • 您好 Vin,我的客户告诉我,他们可以拥有两个有效证书。因此,我认为所有 IPA 的辞职过程都可以使用脚本非常快,因为您不需要等到到期日期......我想那天一切都准备好了,所有员工都可以通过 MDM 工具收到辞职的应用程序.
  • 企业证书现在可以使用 3 年。但是,配置文件将在 1 年后到期。这意味着要保持应用程序运行,您只需为适用的应用程序 ID 推出新的配置文件。这可能只是您的通配符 (*) 配置文件。您可以使用 MDM 系统自动推出这些配置文件。
  • 我怀疑该应用程序需要重建,只需重新签名。我有一个需要很快重新签名的配置文件,因此我将尝试重新签署现有的应用程序存档,然后再返回并尝试重新构建它们。
  • 如果我的证书没有过期,但我的配置文件已经过期,会发生什么。这会阻止用户运行应用吗?
  • @JonasStawski,我的分发证书已启动并正在运行。但是配置文件即将过期,我编辑了配置文件,现在,配置文件就可以了。具有先前配置文件的应用程序会停止工作吗?我是否需要更新应用、使用此配置文件进行代码签名并要求用户更新应用?
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    Apple 修改了文档...

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

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

    【讨论】:

      【解决方案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 开发中心请求您的第二个分发证书时,请确保您没有吊销您的第一个证书。

      没有一种无缝的方式来做到这一点,因此我们所有的内部客户都不需要看到这是相当可怕的功能缺乏。

      【讨论】:

      • 链接已损坏 :(
      【解决方案5】:

      只是一个小的跟进。

      原文:

      “据我所知,我的非企业分发证书何时到期,我必须对其进行续订。一旦设备根据 Apple 的 OCSP 服务器检查证书的有效性,此到期就会禁用所有使用过期证书签名的应用程序。”

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

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

      ...

      iOS 分发证书(应用商店)

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

      【讨论】:

      • 您好 Kost,您适合 App Store。问题是我表达得很糟糕,我说的是 Apple 不会放弃你的应用程序的 Ad Hoc 分发。 (或做任何事)
      • 重要的是要注意企业和非企业应用程序的规则是不同的。
      • 该问题与 Apple Developer Enterprise 计划有关,与 Apple Developer Program 无关。您对 Apple Developer 程序的回答是正确的,这与此问题无关。