iOS签名程序;撤销证书并上传新版本

时间:2017-11-29 14:23:32

标签: ios code-signing sign signing

我是iOS开发新手,签名过程有点令人困惑 让我们假设以下情况:

  1. 有人开发了一个新的iOS应用程序并通过该应用程序进行分发 存储。
  2. 让我们假设,由于某种原因,某人因为他们当前安装的mac OS而被炒作,他/她现在重新安装操作系统但是他/她没有备份他的私钥(iOS开发和iOS发行)。
  3. 时间过去了,那个人现在想推送一些更新。
  4. 他现在撤销旧证书并创建新证书,签署应用程序并将其上传到应用程序商店。
  5. 来自docs

      

    代码签名还允许您的应用程序签名被可信来源删除和重新签名。例如,您在将应用程序上传到iTunes Connect之前对其进行签名,但Apple会在将其分发给客户之前对其进行重新签名

    了解Apple会删除我的签名并使用他们的密钥签名。

    所以问题是:
    只要您始终将新版本上传到应用商店,撤销并重新创建iOS分发证书时是否会出现问题?

1 个答案:

答案 0 :(得分:0)

是的,您可以撤销并创建新的iOS分发证书, if 您是通过App Store分发的,并且不与任何其他依赖的开发人员合作私钥/证书。

更重要的是,防止私钥落入错误的人手中。正如Apple says here

  

由于私钥存储在Mac本地,因此请像保存帐户密码一样保护私钥。保持公钥 - 私钥对的安全备份。如果私钥丢失,您将必须创建一个全新的标识来签署代码。更糟糕的是,如果其他人拥有您的私钥,那么该人可能会冒充您。在错误的人手中,有人可能会尝试分发包含恶意代码的应用程序。这不仅会导致应用被拒绝,还可能意味着您的开发者凭据可能会被Apple撤销。

如果您使用企业代码签名分发企业应用程序,则您的私钥更重要。如果您撤销企业分发证书,那么您在野外的应用程序最终将停止运行。 (这不会马上发生 - 下次iOS设备通过电话回家检查其配置文件是否仍然有效时会发生。)