【问题标题】:Xcode - iPhone - profile doesn't match any valid certificate-/private-key pair in the default keychainXcode - iPhone - 配置文件与默认钥匙串中的任何有效证书/私钥对不匹配
【发布时间】:2011-07-20 11:48:36
【问题描述】:

我尝试将我的 iPhone 添加到 Xcode4 以在其上测试我的应用程序。我在 Apple Developer-Center 中添加了设备并下载了 Provision-Profile。我们每月为该帐户支付 99 美元,我不是唯一使用此帐户的人。因此,已经存在一个“较旧”的证书,我试图将其添加到我的钥匙串管理器中。但我看到上面有一个红色文本(从德语翻译)“此证书已由未知实例签名。”。

在我的 XCode-Device Manager 中的 Provisioning-Section 中也有一个错误:“XCode 在您的钥匙串中找不到此配置文件的有效私钥/证书对。”

我真的不明白我现在要做什么。这些钥匙可能真的不存在于我的钥匙串中,我找不到它们。那么如果 Apple Dev-Center 中已经有一个证书,那么我必须如何创建它们以及如何使用它们?

【问题讨论】:

标签: iphone xcode certificate device provisioning


【解决方案1】:

要在 Apple 配置文件网站上生成证书,首先您必须在 Mac 上生成密钥,然后上传公钥。 Apple 将使用此密钥生成您的证书。当您下载证书时,您需要拥有私钥才能使用它们。

错误“XCode 在您的钥匙串中找不到此配置文件的有效私钥/证书对。”表示您没有私钥。

可能是因为您的 Mac 已重新安装,也可能是因为此密钥是在另一台 Mac 上生成的。因此,为了能够使用您的证书,您需要找到此密钥并将其安装在钥匙串上。

如果您找不到它,您可以生成新密钥,在配置文件网站上重新启动此过程并获得您可以使用的新证书。

【讨论】:

  • 其他开发者可能能够导出私钥并将其复制到您的机器上。或者按照这里的建议,您可以生成自己的开发私钥、证书和配置文件。
  • 嗯,我创建了自己的配置文件并添加了设备。但我不知道如何创建私钥以使其被证书接受。
  • 如何生成我的密钥对?公共和私人?
【解决方案2】:

我的问题是我的 Target 配置文件没有选择正确的代码签名选项:

目标菜单 -> 代码签名 -> 代码签名身份

选择“iPhone 开发者”,然后选择您创建的临时配置文件。

【讨论】:

    【解决方案3】:

    我也遇到过类似的情况:多个开发者使用同一个私钥,但升级到 Lion 后我再也找不到我的了。非常简单的解决方法是从另一台机器导出特定证书(在我的情况下是开发证书)的私钥,将其移动到我的计算机并将其拖到那里的钥匙串访问中。 Xcode 立即拿起它,我很高兴。

    【讨论】:

      【解决方案4】:

      您的 Apple 开发者证书可能已过期,或者您的系统日期大于您的帐户过期日期

      【讨论】:

        【解决方案5】:

        如果您尝试在其上运行的设备具有您正在使用的某个旧版本的配置文件,该版本指向旧的、过期或撤销的证书或没有关联私钥的证书,也会发生这种情况。删除 Xcode 管理器中您的设备部分下的所有无效配置文件。

        【讨论】:

          【解决方案6】:

          当我尝试在代码签名身份中选择开发配置文件时,会说“配置文件与任何有效证书都不匹配”。因此,当我按照下面的两步过程进行操作时:

          1) 在“代码签名身份”下将开发更改为“不要代码签名”。
          2)然后在开发的“代码签名身份”下,您将能够为开发选择您的配置文件。

          让我发疯,但偶然发现了解决方案。

          【讨论】:

            猜你喜欢
            • 2012-03-20
            • 2012-09-20
            • 2011-07-25
            • 1970-01-01
            • 1970-01-01
            • 2013-05-12
            • 2012-08-03
            • 1970-01-01
            相关资源
            最近更新 更多