理解iOS开发证书

6
我们收到了来自苹果的邮件:您的iOS开发证书已被吊销。 有一些关于如何恢复证书的SO答案(12),但我还有其他问题。
1. 为什么会被吊销?我所做的是尝试在我的iPhone上运行我们的应用程序。这是我第二次这样做 - 这次是在新的MacBook上到新的iPhone上。这是触发邮件的问题吗?
2. 邮件的意义是什么?我仍然可以在同一台iPhone上运行该应用程序。卸载并重新安装后,它也能正常工作。真的有问题吗?
3个回答

6
每个证书都是一对普通的私钥和公钥。当您生成一个新证书时,实际上会在您的计算机上保存一个私钥,并将公钥的一部分发送给苹果公司。然后苹果公司自己生成一个密钥,并将其作为结果发送给您的公钥(参见Diffie-Hellman密钥交换)。
如果您更换了计算机并且现在没有在新计算机上保存私钥,则Xcode无法使用您的证书对应用程序进行签名。因为您只能从开发人员门户下载公钥。所以如果您使用“自动管理签名”,Xcode会决定重新创建证书,因为它找不到私钥。对于私人团队和iOS开发人员计划而言,所有这些流程都是相同的。在尝试签署之前,您可以从旧计算机中导出带有私钥的旧证书,以便您无需撤销旧证书。
至于电子邮件,苹果公司只是通知您已撤销旧证书,现在不能用于签署应用程序。就像它所写的那样。它可能因过期或其他人已撤销它而被吊销(例如您本人)。因此,为了让您了解情况,苹果向您发送了此类电子邮件。

5

我认为的情况是,当你从新的Macbook运行它时,你在那里下载了新证书,这样一来,苹果公司就取消了你当前的证书并生成了一个新的证书。我们在我工作的地方也发生了类似的情况。


3
  1. 可能是因为您没有将开发证书导入到新的Macbook中。因此,当您使用Xcode将应用程序运行到手机上时,Xcode会检测到签名标识问题。根据开发者网站

如果Xcode检测到签名标识问题,则会在“帐户”首选项中显示适当的操作。如果Xcode显示“创建”按钮,则表示签名标识在您的开发者帐户或您的Mac上不存在。如果Xcode显示“重置”按钮,则表示签名标识无法在您的Mac上使用,例如缺少私钥。如果单击“重置”按钮,则Xcode会撤销并重新创建相应的证书。

因此,可能是Xcode撤销了证书。

  1. 因为您在新的Macbook上有一个新的证书,所以您仍然可以运行您的应用程序。但是当您在旧的Macbook上工作时,旧的Macbook上的证书已被撤销,Xcode无法编译您的应用程序以在手机上运行。

一旦您创建了新的证书,您需要从Xcode->首选项->帐户->您的AppleID->查看详细信息->右键单击证书->导出。然后,您可以在新的Macbook上导入它,而无需撤销它并创建一个新的证书。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接