206

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

使用开发人员配置文件,一切正常,但是当我安装证书和配置文件时,我没有在 Xcode 上看到分发配置文件,而且我在钥匙串中的 dist 证书下也没有私钥。

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

4

20 回答 20

205

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

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

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

于 2012-10-12T22:25:21.123 回答
86

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

只需使用该 Mac 的钥匙串访问应用程序来导出证书和私钥。使用 shift 或 command 选择两者并右键单击以导出到 .p12 文件。

附上截图以使其非常清晰。

在您的 Mac 上,导入该 .p12 文件,一切顺利(只需确保您拥有有效的配置文件)。

只选择出口

于 2012-10-12T22:28:51.970 回答
63

为了补充其他人的答案,如果您不再有权访问该私钥,那么恢复并运行相当简单:

  1. 在供应门户中吊销您的活动证书
  2. 创建新的开发人员证书(钥匙串访问/.../csr 的请求...等)
  3. 下载并安装新证书
  4. 为现有应用程序 ID 创建新的配置文件(在配置门户上)
  5. 下载并安装新的配置文件,并在构建中设置适当的代码签名身份
于 2012-10-12T22:37:06.863 回答
15

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

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

在此处输入图像描述

于 2016-10-04T07:29:34.300 回答
11

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

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

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

于 2018-08-29T07:33:46.407 回答
9

就我而言,我丢失了钥匙串中的所有私钥,新的私钥已正确导入,但也没有显示私钥。唯一有帮助的是生成新的 CertificateSigningRequest

于 2014-12-23T14:18:03.517 回答
8

我浪费了几个小时来解决这个问题,但它只是通过重新启动 MAC 来解决......

于 2020-08-09T13:51:09.863 回答
6

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

于 2017-11-21T02:34:22.433 回答
5

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

"Missing privacy key".

在此处输入图像描述

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

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

我的问题已经解决(我使用的是 Xcode 9.4.1)。

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

在此处输入图像描述

于 2018-09-27T14:23:47.733 回答
2

在 Xcode 未能创建新的分发证书后,我遇到了这种情况(“缺少私钥。”) - 发生了未知错误。

然后,我努力获取私钥或生成新证书。从 Xcode 的证书管理器中,我收到了一些奇怪的错误,例如“您输入的密码错误”。但它甚至没有要求我输入任何密码。

对我有帮助的是:

  1. 在 developer.apple.com 上撤销所有无效的分发证书
  2. 重新启动我的 Mac

之后,Xcode 能够创建新的分发证书,并且没有丢失任何私钥。

经验教训:重启你的 Mac 和你的 Windows 一样多;)

于 2019-10-31T08:31:53.950 回答
2

在 Menu > Visual Studio (mac) > Preferences > Publishing > Apple Developer Accounts > [Select your apple id] > View Details > Create Certificate

要删除未使用/无效的证书,请访问网站:https ://developer.apple.com/account/resources/certificates/list

在那里删除任何不需要的证书

接下来是创建 App ID(标识符),访问网站:
https ://developer.apple.com/account/resources/identifiers/list

接下来,去网站创建配置文件:
https ://developer.apple.com/account/resources/profiles/add

使用证书与您的应用程序 ID 绑定。

接下来是下载配置文件:
在您的 mac > 在菜单 > Visual Studio (mac) > Preferences > Publishing > Apple Developer Accounts > [选择您的 Apple id] > 查看详细信息 > 下载所有配置文件

于 2020-01-18T15:25:56.663 回答
2

我是密钥的创建者,但密钥已附加到过期的证书上。

为了解决这个问题,我去了-> Xcode/Preferences/Accounts/"Account you used to archive"/Manage Certificates..

然后单击左下角带有“+”号的下拉菜单,然后选择您需要更新的证书类型(我的是 Apple Distribution)。

这更新了我的新证书,并附上了它的密钥。

于 2020-12-01T16:07:26.837 回答
1

我在苹果的开发者网站上访问了该证书,下载后我打开了它。同样,在打开时,我有一个小窗口询问我是否要将证书添加到钥匙串。只需点击“添加”,“丢失私钥”错误就消失了。

于 2019-06-19T10:11:18.870 回答
1
  • 我假设您已切换设备并尝试为您的新设备创建新证书,
  • 首先从开发者门户中恢复开发证书,
  • 转到 xcode > 首选项 > 帐户 > 使用开发门户访问权限选择您的 Apple ID > 管理证书 > 单击团队帐户 > 单击小 + 按钮 > 单击 Apple 分发
  • 去苹果开发者门户,你可以看到一个分发证书被创建了,
  • 转到配置文件,使用新证书创建新配置文件。
  • 下载>安装完成
于 2021-08-19T15:08:59.530 回答
0

检查您是否使用登录来添加证书,如果您在左上角的系统中签入,那么我们将无法看到它。

因此,将 .cer 拖放到登录中,然后检查您是否能够获取私钥。

于 2019-05-10T07:48:08.133 回答
0

只是为了对此有所了解。

从钥匙串中删除我的 p12 证书后。我从 Apple 开发者门户重新下载了自己的证书。

我只能下载证书。但是要签名,您也需要私钥。所以你要么:

  • 从 Keychain 导出私钥和证书以获取它。

  • 上传证书签名请求并生成新证书

该证书本身对签名没有任何价值。我的猜测是,私钥是在您“向证书颁发机构请求证书”时由钥匙串创建的,但在您添加其绑定证书之前不会显示给您。

于 2020-06-03T00:58:16.683 回答
0

与 iOS 分发密钥的创建者联系并告诉导出证书和私钥,然后只需下载并双击它即可访问您的钥匙串。

在此处输入图像描述

于 2021-03-30T10:43:50.187 回答
0

我的问题是,无论出于何种原因,钥匙串访问中都缺少登录钥匙串。Xcode 创建了一个新证书并将其添加到登录钥匙串中但无法使用它。重新启动计算机解决了我的问题。

在此处输入图像描述

于 2021-04-20T08:12:28.730 回答
0

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

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

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

  1. 创建新的签名请求

Keychain Access > Certificate Assistant > Request a Certificate from a Certificate Authority 实际上会根据上下文了解您在启动它时当前选择的内容。只是为了确保您不会因一些随机选择而意外扭曲您的请求,请转到您的登录项目并选择 Apple Worldwide Developer 项目。然后启动上述请求并创建 CertificateSigningRequest.certSigningRequest 文件。

在此处输入图像描述

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

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

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

于 2022-02-02T21:07:16.197 回答
-6

我可以通过更新 macOS 和 XCode 来解决这个问题。

于 2021-02-05T15:30:32.373 回答