钥匙串中缺少私钥iphone开发人员

时间:2013-09-05 19:52:49

标签: iphone ios xcode4 provisioning-profile code-signing-certificate

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

  

个人资料与您的有效证书/私钥对不匹配   钥匙链。

此外,在组织者中,开发者档案的状态为:

  

找不到有效的签名身份。

你有什么建议吗?

5 个答案:

答案 0 :(得分:22)

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

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

答案 1 :(得分:3)

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

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

答案 2 :(得分:2)

我们在我们的案例中确定我们正在导出WRONG证书,因为Keychain Access存在UX缺陷,因为当您使用搜索框时,您看不到名称与您搜索到的名称相匹配的证书,查看绑定到PRIVATE KEYS的证书,其名称与您搜索的内容相匹配。

由于钥匙串访问的这种令人困惑的用户体验,我们不断导出错误的证书(但是说服自己这是正确的,因为名称匹配)。一旦我们将其确定为正确的证书,我们的进口问题&签名身份丢失私钥消息消失了

请参阅Can't import Code-signing Public or Private keys using Keychain access (Mac OS X Mavericks)以获取完整备注。

答案 3 :(得分:0)

最近这件事发生在我身上。没有正当理由说明为什么会这样。我也试过撤销证书。但没有帮助。所以我创建了一个新证书。

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

答案 4 :(得分:0)

Profile doesn't match any valid certificate/private key pair in your keychains.

出现这种特殊错误有几个原因,但最常见的是 -

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

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