【发布时间】:2023-03-04 09:36:01
【问题描述】:
我正在为客户更新内部应用程序,他们目前在 100 多台 iPad 上拥有以前的版本。 我想推送更新,但是当我尝试使用分发配置文件对应用程序进行签名时,它会要求我提供私钥。搜索后,人们建议撤销旧证书并在我正在使用的机器上生成一个新证书,这样我就可以获得私钥。我不知道这是否是最好的方法,但我的客户担心我是否会撤销当前的内部分发证书,这会影响当前在这 100 多台 iPad 上分发的应用程序吗?谢谢!
【问题讨论】:
我正在为客户更新内部应用程序,他们目前在 100 多台 iPad 上拥有以前的版本。 我想推送更新,但是当我尝试使用分发配置文件对应用程序进行签名时,它会要求我提供私钥。搜索后,人们建议撤销旧证书并在我正在使用的机器上生成一个新证书,这样我就可以获得私钥。我不知道这是否是最好的方法,但我的客户担心我是否会撤销当前的内部分发证书,这会影响当前在这 100 多台 iPad 上分发的应用程序吗?谢谢!
【问题讨论】:
很遗憾,是的。对于企业分布式应用程序,设备会定期与苹果服务器检查用于签名的证书是否仍然有效。因此,吊销证书将使这些安装失败。可能要等到下一次重新启动,也可能不会在没有可用的互联网连接时,但迟早,应用程序会拒绝启动。
如果应用程序的可用性不能中断,您需要采取预防措施 - 例如通过准备新版本并提前通知所有用户在某个日期,旧版本将停止工作,新版本必须安装。
更新:
我一直在调查,看来您现在可以同时拥有两个分发证书。这旨在通过允许您在第一个证书过期之前从一个证书逐步过渡到另一个证书来消除应用可用性方面的差距。
如果仍然如此,您或许可以简单地创建另一个分发证书,而无需撤销现有证书。您还需要创建新的配置文件(或更新旧配置文件以使用新证书),但这不应使已部署的配置文件无效。然后您就可以分发新的/更新的应用程序,而现有的安装将不受影响。
自从我上次使用企业分发以来已经有一段时间了,现在我无法访问企业开发帐户,所以我无法尝试。但我认为,如果您继续尝试,我认为不会有任何风险 - 我认为门户网站要么允许您创建第二个证书,要么就不会......
【讨论】:
Toastor 是正确的 - 我最近与 Apple 讨论过这个问题,它故意与 App Store 应用程序不同。当企业应用程序的分发证书被吊销(或过期)时,应用程序将在到期后停止运行,或者从 Apple 检索吊销信息。
但是,如果您管理多个企业应用程序,而不是要求用户使用新证书安装每个应用程序的重新编译版本,您可以:
** 警告:我不会编写应用程序,但会管理我们的证书、应用程序 ID 和配置文件。我还没有测试过这些方法 - 根据我最近与 Apple 讨论的笔记,这是我的最大努力。
【讨论】: