1

我错误地按下了Revoke按钮。:

在此处输入图像描述

我去了developer.apple>Certificates我下载了通过按下按钮Development Certificate创建的新文件。Revoke之后我得到的错误之一是

在此处输入图像描述

错误的第二部分说证书需要一个private key(橙色)。

Xcode> Preferences> Accounts> App ID> Team>plus sign它说到期Development Certificate10/30/20, 12:04 AM

在此处输入图像描述

当我在钥匙串中查看具有该到期日期的证书时,它的左侧没有箭头来切换嵌套的私钥:

在此处输入图像描述

如何将私钥添加到使用撤销按钮创建的开发证书?

顺便说一句,按下按钮后创建的分发证书Revoke确实附有一个私钥。

4

2 回答 2

2

当您按下Revoke按钮时,您会收到一个新的iPhone Distribution certificate和一个新的iPhone Developer certificate。您可以在开发人员门户中查看这些证书developer.apple> certificates。这些证书也将在您的钥匙串中。您可以使用证书到期日期来查看哪些证书对应于什么。

按下 Revoke 按钮的问题是你会得到一个iPhone Distribution certificate带有 aprivate keyiPhone Developer certificate没有私钥。

如果你查看你的钥匙串,你会在下面看到这张照片。请注意iPhone Distribution certificate旁边有一个灰色箭头,但iPhone Developer certificate没有:

在此处输入图像描述

这将导致以下2个错误:

在此处输入图像描述

它会导致一个循环,您Revoke再次按下按钮并以相同的 2 个错误结束。我不确定苹果为什么这样做,但肯定有人犯了错误。

当您转到Keychain> login>时My Certificates,您只会看到具有私钥的证书(灰色箭头表示)。由于iPhone Developer certificate按下撤销按钮的按钮没有密钥,因此它不会在那里。 据此,您需要该密钥,否则您将收到错误消息:

如果您的 iOS 开发人员和分发证书未出现在 “我的证书”中,则说明它们未正确配置为在您的 Mac 上使用。请注意,“证书”是您的 Mac 持有的所有证书的存储库,而“我的证书”您的 Mac 实际使用的有效证书子集- 仅出现在“证书”中的证书是不够的。

如果证书不在我的证书中,那么这很可能是因为您在该 Mac 上也没有该证书的正确密钥。您将需要找到为该证书制作的私钥(即,来自请求证书的原始 Mac 或备份服务器)。

只要它们确实出现在我的证书中,那么它们的密钥就在那里

由于iPhone Developer certificate不会出现在我的证书中,因此修复是在您按下Revoke按钮后,删除iPhone Developer certificate它从开发人员门户中生成的developer.apple> certificates AND keychain从钥匙串中删除它非常重要!使用到期日期找到它。请保留它,iPhone Distribution Certificate因为它应该可以正常工作并且有一个键(由灰色箭头指示)。

从这两个地方删除后,您可以按照以下说明手动生成一个developer certificate自己:

手动生成代码签名证书

1- 打开你的Keychain Access.

2- 在 Apple 标志旁边的左上角选择Keychain Access> Certificate Assistant> Request a Certificate From a Certificate Authority..

3- 填写用户电子邮件地址(只需使用您的)和通用名称(只需使用您的姓名),然后选择Saved to Disk。我选择了Let me specify key pair information(也许没有必要),但在下一个屏幕上只需使用Key Size: 2048 bitsand algorithm: RSA。单击继续并将生成的 certSigningRequest 文件保存到您的桌面。

4- 转到https://developer.apple.com并登录您的帐户。

5- 从左侧边栏中选择证书、ID 和配置文件。

6- 转到证书并单击右上角的 + 按钮。

7- 选择 iOS 应用程序开发并单击继续。

8- 在下一页上,您会看到创建 certSigningRequest 文件的说明。单击继续。

9- 将创建的 certSigningRequest(从第 3 步开始,保存到您的桌面)上传到表单,然后单击继续。它将为您生成代码签名证书。

10-下载证书并双击安装。安装后,它将被添加到您的钥匙串访问应用程序中。假设它保存到您的下载文件夹中,您可以进入并双击它。

完成这些步骤后,两个错误都应该消失。

如果您仍然有错误,请查看developer.apple>certificateskeychain>门户中的证书My Certificates。如果门户中有任何内容但不在门户中,My Certificates那么您需要找到它的钥匙串访问权限(查看 keychain > Certificates),将其删除,然后从门户中删除。

我花了一段时间才弄清楚这一点,但到期日期是找到混乱证书的关键。

于 2019-11-13T23:48:15.037 回答
0

不幸的是,没有办法让它工作。我在莫哈韦,所以:

  1. 我在外部硬盘驱动器上安装了 Big Sur 并从那里启动它。
  2. 安装 Xcode 12。
  3. 创建空项目
  4. 我也是付费团队的成员,但这是不必要的。
  5. 签署和创建证书顺利进行,没有错误
  6. 我在 iCloud 的系统偏好设置中选择了钥匙串访问。
  7. 我将我的证书和密钥导出到从 Mojave 可见的外部驱动器分区。
  8. 重新启动并启动莫哈韦
  9. 进口证书

这既不适用于付费帐户,也不适用于未付费帐户。我的证书被标记为不受信任,Xcode 11.2 仍然存在修复问题。我收到了 8 封电子邮件,说我的证书在此过程中被吊销。所以这可能是 Mojave 的想法,因为 Apple 认为系统不安全。这很有趣,因为昨天我为 Mojave 安装了最新的安全更新(之后我丢失了我的 Mac Mini 内置扬声器:()这看起来像苹果方面的严重错误我通过反馈助手报告了它,但我怀疑他们会修复它所以现在我不得不告别 Apple 平台的编码。

于 2021-06-11T16:19:15.550 回答