在钥匙串上丢失分发证书中的私钥

mos*_*fya 139 iphone xcode ios

我有以下问题,我找不到任何解决方案.基本上,我们有一个公司开发人员帐户(不是企业),所以为了提交我们的应用程序,我要求我们的团队负责人向我发送分发证书并创建并向我发送分发配置文件.

使用开发人员配置文件一切正常,但是当我安装cert和prov配置文件时,我没有在xcode上看到饮食配置文件,也没有在keychain中的dist cert下有私钥.

有谁知道如何解决这个问题?我在不同的地方读到我需要撤销证书并创建一个新证书,但我真的不能这样做,因为我们在公司有一堆应用程序,我不能为每个人撤销它.

谢谢您的帮助!!!

Nir*_*rma 135

在此输入图像描述啊这是一个常见的问题,解决方案很简单:

曾经创建过开发人员凭据的人最初需要转到他们计算机上的钥匙串,然后右键单击私钥和公钥的密钥,并将密钥导出到文件中.然后,您只需在计算机上下载该文件并将其打开,它就会被添加到您的钥匙串中.

您需要同时拥有私钥(.pem文件)和配置文件的证书.

  • 更具体地说,它是您需要(导出)的.p12文件 (32认同)
  • @Nirma如果我们无权访问最初创建开发人员凭据的计算机,该怎么办. (7认同)
  • 如果它对任何人有帮助,在安装公共证书和私钥后(在“钥匙串访问”中检查并显示)我还必须重新启动 Xcode 才能获取私钥。在 OSX 10.15.5 上使用 Xcode 11.6。 (6认同)
  • @Nirma如何创建新的 (2认同)

ela*_*leb 63

只要您仍然可以访问用于生成原始分发证书的mac,它就非常简单.

只需使用该mac的钥匙串Access应用程序即可导出证书和私钥.使用shift或命令选择并右键单击以导出到.p12文件.

附上截图使其非常清晰.

在你的Mac上,导入.p12文件,你就可以了(只需确保你有一个有效的配置文件).

只需选择导出


mkr*_*ral 53

要添加其他人的答案,如果您无法再访问该私钥,则可以非常简单地重新启动并运行:

  1. 撤消配置门户中的活动证书
  2. 创建新的开发人员证书(钥匙串访问/.../请求csr ...等)
  3. 下载并安装新证书
  4. 为现有应用ID创建新的配置文件(在配置门户上)
  5. 下载并安装新的配置文件,并在构建设置中设置适当的代码签名标识

  • 在我的公司总是一团糟,没人知道在哪台电脑上创建了一定的证书.最好是撤销和重新创建 (12认同)
  • @user2387149 6 年后我在这里建议 CI/CD 来做这类事情,而忘记通过 xCode 进行分发。 (2认同)

Jam*_*lam 11

从KeyChain中删除现有的一个,获取并将.p12文件添加到创建证书的mac.

要从源Mac获取.p12,请转到KeyChain,展开证书,选择两者并导出2个项目.这将在您的位置保存.p12文件:

在此输入图像描述


Ram*_*mis 11

对于害怕重新创建 AppStore 分发证书的人,Apple文档说:

重要提示:重新创建您的开发或分发证书不会影响您提交到 App Store 的应用程序,也不会影响您更新它们的能力。

但它会影响Apple Developer Enterprise生态系统的应用程序。

  • 如果您有企业帐户,则可以! (6认同)

Muh*_*ais 8

我花了好几个小时来解决这个问题,但只需重新启动 MAC 就可以解决这个问题...


Jak*_*lik 7

在我的情况下,我丢失了钥匙串中的所有私钥,新的正确导入,但也没有显示私钥.唯一有帮助的是生成新的CertificateSigningRequest


Viv*_*vek 6

当我尝试上传iOS版本以测试飞行时,出现了错误。

"Missing privacy key"

在此处输入图片说明

只需2个步骤即可修复此错误。

  1. 从developer.apple.com删除旧证书
  2. 从Xcode或developer.apple.com创建新证书

我的问题已解决(我正在使用Xcode 9.4.1)。

请检查,Xcode创建了新证书。

在此处输入图片说明


Tra*_* M. 6

如果您正在创建自己的分发证书,而不是使用其他人的证书,那么这可能会有所帮助。

今天花了相当多的时间在这上面,解决了从无法创建 SigningRequest 到生成分发证书以及没有将其附加到 KeyChain Access 中的私钥等问题。这些步骤帮助我解决了这个问题。

如果您仍然遇到问题,请撤销当前的证书并重新开始。

  1. 创建新的签名请求

钥匙串访问 > 证书助手 > 向证书颁发机构请求证书实际上在启动时会根据上下文了解您当前选择的内容。为了确保您不会因某些随机选择而意外扭曲您的请求,请转到您的登录项目并选择 Apple Worldwide Developer 项目。然后启动上述请求并创建CertificateSigningRequest.certSigningRequest 文件。

在此输入图像描述

  1. 转到Apple Dev门户,添加新的分发证书,上传CertificateSigningRequest.certSigningRequest文件并下载新创建的分发证书。

  2. 要将分发证书导入到您的钥匙串中,我建议您打开钥匙串,转到“登录/证书”区域并将证书拖放到此处,而不仅仅是双击它。

我遇到了一个问题,我的证书会自动安装到系统区域,而不是我的私钥所在的登录区域,这导致我的密钥无法链接到新证书。


Mic*_*ang 5

在您更改了不是创建disitribution证书的原始Mac之后,您将丢失私钥.只需删除原始证书并重新创建一个新证书,这对我有用〜