70

好吧,我的开发人员证书与它的私钥相关联。工作正常。

我已经下载了经销商的 iOS 配置文件,但它显示未找到有效的签名身份。

所以我检查了我的证书,确切地说,我的开发人员证书与它的私钥相关联,但不是我的分发证书。如何将我的私钥链接/添加到此证书!?

这会解决“找不到有效签名身份”的问题吗?

4

10 回答 10

97

Yes, the error you are getting means that there is not a private key on your Mac associated with the distribution certificate you are trying to use to sign the app.

There are two possible solutions, depending on whether the computer who requested the distribution certificate is available or not.

If the computer who requested the distribution certificate is available (or there is a backup of the distribution assets somewhere)

  1. From the computer where the distribution asset was generated, open Xcode.
  2. Click on Window, Organizer.
  3. Expand the Teams section.
  4. Select your team, select the certificate of "iOS Distribution" type, click Export and follow the instructions.
  5. Save the exported file and go to your computer.
  6. Repeat steps 1-3.
  7. Click Import and select the file you exported before.

If the computer where the distribution profile was created is not accessible anymore (and there is not a backup)

You have to revoke the certificate and create a new one.

You may need to ask your team admin or agent to give you some privileges in order to generate distribution certificates. Once you have enough privileges, follow these steps (accurate as of 15-May-2013):

  1. Go to this webpage: https://developer.apple.com/devcenter/ios/index.action
  2. Click on "Member Center" and enter your iOS developer credentials.
  3. Click on "Certificates, Identifiers & Profiles".
  4. Click on "Certificates" under the "iOS Apps" section.
  5. Expand the Certificates section on the left, select Distribution, and click on your distribution certificate.
  6. Click Revoke and follow the instructions.
  7. Click on the plus sign to add a new certificate.
  8. Select "App Store and Ad Hoc" option, and click Continue.
  9. Follow the steps printed in the webpage. That involves opening the Keychain application on your Mac and generate a Certificate Signing Request from there. Click Continue.
  10. Upload the .csr file and click Continue.
  11. A certificate is generated for distribution. Download it and double click it to integrate it in your keychain.

Reopen Xcode and check your project configuration to see if you can now select an "iPhone Distribution" certificate (i.e. it's not grayed out).

于 2013-05-15T11:20:22.183 回答
53

由于编写了现有答案,Xcode 的界面已经更新,它们不再正确(特别是单击窗口,组织器 // 展开团队部分步骤)。现在导入现有证书的说明如下:

导出选定的证书

  1. 选择 Xcode > 首选项。
  2. 单击窗口顶部的帐户。
  3. 选择您要查看的团队,然后单击查看详细信息。
  4. 按住 Control 键单击要在 Signing Identities 表中导出的证书,然后从弹出菜单中选择 Export。

出口证书演示

  1. 在“另存为”字段中输入文件名,在“密码”和“验证”字段中输入密码。该文件已加密并受密码保护。
  2. 单击保存。该文件将保存到您指定的位置,扩展名为 .p12。

来源(Apple 的文档)

要导入它,我发现 Xcode 的 let-me-help-you 菜单无法识别 .p12 文件。相反,我只是将它手动导入到 Keychain 中,然后 Xcode 构建并归档而没有抱怨。

于 2016-01-12T00:36:38.063 回答
32

使用 Xcode 9,界面已更新,现在我解决问题的方法是:

  1. 选择Xcode > 首选项
  2. 单击窗口顶部的帐户。
  3. 选择您要查看的团队
  4. 单击左下角的齿轮图标 ( )。

在此处输入图像描述

  1. 导出 Apple Id 和代码签名资产
  2. 在“另存为”字段中输入文件名并在“密码”和“验证”字段中输入密码后,您将看到如下所示的窗口

在此处输入图像描述

  1. 单击齿轮图标 ( ) -> 单击导入 -> 选择您在步骤 6 中导出的文件
于 2018-01-17T15:47:21.030 回答
4

该站点逐步解释了您需要做什么证书,标识符和配置文件以及您的问题

"Valid Signing identity not found"?

您需要用于使用配置文件签署代码库的私钥。. 如果您没有,那么您可以在 iOS 开发人员门户上生成新的签名请求。

For Export:

Xcode -> Organizer,选择你的团队。单击导出。指定文件名和密码,然后单击保存。`

For Import:

Xcode -> Organizer,选择你的团队。单击导入。选择包含您的代码签名资产的文件。输入文件的密码,然后单击打开。

于 2013-05-15T11:06:57.030 回答
1

您需要做的是从下面的链接创建证书类型(iOS Distributionfrom)

https://developer.apple.com/account/resources/certificates

完成后,将其下载到计算机上的钥匙串中。

第 2 步:转到下面的链接并创建个人资料

https://developer.apple.com/account/resources/profiles/list

创建配置文件时,请确保为您的应用选择相同的包 ID。

然后下载你刚刚创建的配置文件

第 3 步:将您的应用推送到应用商店时,请确保选择手动签名。然后选择您下载的配置文件并导入它,并选择您创建的证书

这是为我做的

于 2021-06-26T10:21:16.473 回答
1

在创建分发证书的同一台机器上出现此错误后,对我有用的是:

  1. 打开 Xcode 设置
  2. 选择账户
  3. 选择合适的团队
  4. 单击管理证书
  5. 单击 + 按钮
  6. 选择 Apple Distribution

这也为钥匙串添加了正确的证书(我以为我之前已经下载并手动添加了),然后 xcodebuild 很高兴。

于 2021-09-13T12:48:38.827 回答
0

"Valid Signing identity not found" This is because you don't have the private key for distribution certificate.

If the distribution certificate was created originally on a different Mac you may need to import this private key from that Mac. This private key is not available to download from your provisioning portal.

When you import the correct private key to your mac , XCode's organizer will recognize your already downloaded distribution profile as a "Valid profile"

However if you do not have access to the original Mac which created those profiles, the only option you have is revoking profiles.

于 2013-05-15T11:20:31.870 回答
0

由于 xcode5 组织者不再存在团队部分。但粗体字是我的答案。上帝感谢有另一个 mac 可以恢复并导入到有问题的 mac。现在一切正常。

于 2013-11-02T14:52:36.783 回答
0

对于开发者证书,您需要创建一个开发者 .mobileprovision 配置文件并将其安装到您的 XCode 中。如果您想使用临时分发配置文件分发应用程序,您将需要在您的钥匙串中安装 AdHoc 分发证书和私钥。

如果您尚未创建证书,以下是创建它的步骤。如果您团队中的某个人已经创建了它,请让他分享证书和私钥。如果该人不再在您的团队中,那么您可以从开发人员帐户中撤消证书并创建新证书。

于 2013-05-15T11:15:37.927 回答
0

我所做的是,我为我的 Mac 计算机创建了一个新的分发证书,并从这台 Mac 计算机上提供了签名身份,就是这样

于 2017-12-22T14:17:51.230 回答