18

我正在尝试在我的 iPhone 上运行应用程序,但我遇到了代码签名身份问题。实际上,我的钥匙串中有两个证书,一个用于分发,另一个用于没有私钥的开发。我尝试从developer.apple.com再次下载证书,但我仍然无法获得私钥。事实上,我无法从Target -> Build settings -> Code signing Identity中选择 iPhone 开发人员资料,因为我收到错误消息:

配置文件与您的钥匙串中的任何有效证书/私钥对都不匹配。

此外,在组织者中,开发者资料的状态为:

未找到有效的签名身份。

你有什么建议吗?

4

5 回答 5

25

如果您有一台较旧的机器,您在其中创建了 CSR 并最初下载了证书,则从其钥匙串中导出证书。将其保存为 .p12 文件,然后将其复制到您当前正在使用的新机器上。双击 .p12 文件将其安装到您的钥匙串中。展开并查看是否看到私钥。

如果这是原始机器并且您的钥匙串中仍然没有私钥,则必须申请新证书。

于 2013-09-05T19:56:46.310 回答
3

如果您的钥匙串中没有您的私钥或存储在其他任何地方,那么您将无法签署应用程序。从 Apple 下载开发者证书是没有意义的。在此过程中的任何时候,您的私钥都不会发送给 Apple。只发送您的公钥。

当您使用钥匙串创建证书签名请求时,会创建私钥和公钥 PAIR。如果您丢失了私钥,这正是您需要做的。

于 2015-01-12T12:23:46.407 回答
2

在我们的案例中,我们发现我们正在导出错误的证书,因为 Keychain Access 存在 UX 缺陷,即当您使用搜索框时,您看不到名称与您搜索的内容匹配的证书,您会看到与 PRIVATE 相关联的证书名称与您搜索的内容相匹配的 KEYS。

由于钥匙串访问的这种令人困惑的用户体验,我们不断地导出错误的证书(但我们确信它是正确的,因为名称匹配)。一旦我们将其识别为正确的证书,我们的导入问题和签名身份丢失私钥消息就消失了

有关完整说明,请参阅无法使用钥匙串访问 (Mac OS X Mavericks) 导入代码签名公钥或私钥

于 2014-05-08T18:03:08.197 回答
0

这也发生在我身上。没有适当的理由说明它为什么会发生。我也尝试过吊销证书。但没有帮助。所以我创建了一个新证书。

这可能会有所帮助 http://seventhsoulmountain.blogspot.com/2013/09/ios-code-sign-in-complete-walkthrough.html

于 2013-09-19T18:10:24.370 回答
0
Profile doesn't match any valid certificate/private key pair in your keychains.

发生此特定错误的原因有多种,但最常见的是 -

  1. 您在钥匙串中安装的证书不是您创建配置文件时使用的证书,请记住,您必须在创建配置文件时选择一个证书?

  2. 您用于创建配置文件的证书已被吊销或过期。

于 2016-08-11T12:00:14.843 回答