【问题标题】:Will revoking In-House Distribution certificate affect applications which are currently distributed?撤销内部分发证书会影响当前分发的应用程序吗?
【发布时间】:2023-03-04 09:36:01
【问题描述】:

我正在为客户更新内部应用程序,他们目前在 100 多台 iPad 上拥有以前的版本。 我想推送更新,但是当我尝试使用分发配置文件对应用程序进行签名时,它会要求我提供私钥。搜索后,人们建议撤销旧证书并在我正在使用的机器上生成一个新证书,这样我就可以获得私钥。我不知道这是否是最好的方法,但我的客户担心我是否会撤销当前的内部分发证书,这会影响当前在这 100 多台 iPad 上分发的应用程序吗?谢谢!

【问题讨论】:

    标签: ios provisioning-profile


    【解决方案1】:

    很遗憾,是的。对于企业分布式应用程序,设备会定期与苹果服务器检查用于签名的证书是否仍然有效。因此,吊销证书将使这些安装失败。可能要等到下一次重新启动,也可能不会在没有可用的互联网连接时,但迟早,应用程序会拒绝启动。

    如果应用程序的可用性不能中断,您需要采取预防措施 - 例如通过准备新版本并提前通知所有用户在某个日期,旧版本将停止工作,新版本必须安装。

    更新:
    我一直在调查,看来您现在可以同时拥有两个分发证书。这旨在通过允许您在第一个证书过期之前从一个证书逐步过渡到另一个证书来消除应用可用性方面的差距。

    如果仍然如此,您或许可以简单地创建另一个分发证书,而无需撤销现有证书。您还需要创建新的配置文件(或更新旧配置文件以使用新证书),但这不应使已部署的配置文件无效。然后您就可以分发新的/更新的应用程序,而现有的安装将不受影响。

    自从我上次使用企业分发以来已经有一段时间了,现在我无法访问企业开发帐户,所以我无法尝试。但我认为,如果您继续尝试,我认为不会有任何风险 - 我认为门户网站要么允许您创建第二个证书,要么就不会......

    【讨论】:

    • 你确定吗?我知道对于 App Store 中的应用程序,撤销签名证书对 App Store 中或已安装的应用程序没有影响。企业应用程序可能会有所不同,但除了安装时似乎不太可能检查证书。
    • 是的,我是。请参阅“如果我的证书过期或已被吊销”下的这个苹果支持页面:developer.apple.com/support/technical/certificates 在某处有另一个苹果文档,其中解释了如何仅偶尔检查证书的有效性以及服务器响应在设备上缓存了几次天,但我现在找不到它......
    • 找到它 - 不是原始文件,但这个 SO 答案引用它......:stackoverflow.com/a/9386400/416600
    【解决方案2】:

    Toastor 是正确的 - 我最近与 Apple 讨论过这个问题,它故意与 App Store 应用程序不同。当企业应用程序的分发证书被吊销(或过期)时,应用程序将在到期后停止运行,或者从 Apple 检索吊销信息。

    但是,如果您管理多个企业应用程序,而不是要求用户使用新证书安装每个应用程序的重新编译版本,您可以:

    1. 通过 MDM(如 Airwatch)向用户推送新的配置文件**
    2. 为您的应用使用通配符应用 ID,然后只要用户使用更新的证书安装一个应用,它将适用于共享该应用 ID 的所有应用
    3. 让用户无需安装应用即可下载更新后的 Provisioning Profile **

    ** 警告:我不会编写应用程序,但会管理我们的证书、应用程序 ID 和配置文件。我还没有测试过这些方法 - 根据我最近与 Apple 讨论的笔记,这是我的最大努力。

    【讨论】:

      猜你喜欢
      • 2011-03-16
      • 2012-09-25
      • 2011-01-13
      • 2013-05-18
      • 1970-01-01
      • 2013-04-03
      • 2011-09-13
      • 2012-08-13
      相关资源
      最近更新 更多