【问题标题】:Xcode could not find a valid private-key certificate pair for this profile in your keychainXcode 在您的钥匙串中找不到此配置文件的有效私钥证书对
【发布时间】:2011-12-07 23:15:15
【问题描述】:

[在立即标记为重复之前,我已经阅读了其他一些具有相同问题描述但在应用他们的答案后没有解决方案]

几天前,我创建了一个配置文件,并成功地使用它在我的 iPhone 上运行应用程序。

但是,现在我正在使用另一台笔记本电脑进行开发,并且由于我不断收到“Xcode 无法在您的钥匙串中找到此配置文件的有效私钥证书对”,因此无法继续进行。 我已经尝试过使用与以前相同的 iPhone/配置文件组合,此外我还有另一部 iPhone,并使用该设备的 id 生成了一个新配置文件。但是,我也收到与该个人资料/电话相同的消息。

从该站点上的其他帖子看来,当配置文件没有被拖放到 Organizer 的“库”部分时,人们遇到了这个问题 - 我在 Xcode 上拖动了配置文件,并且生成的 Provisioning Profiles 部分包含两者中的相关配置文件Organizer 的 Library 部分和 Devices 部分。

证书在钥匙串访问中显示为​​有效。

有什么建议吗?

稍后添加:尝试来自 Apple 的问答:

https://web.archive.org/web/20141029102125/http://developer.apple.com/library/ios/qa/qa1618/_index.html

他们说在 Keychain Access 中单击 .p12 文件。他们在说什么,.p12 文件是什么以及在哪里?它没有显示在他们自己的文档屏幕截图中,也没有出现在我的钥匙串访问中。应该这样吗?

【问题讨论】:

    标签: ios


    【解决方案1】:

    您可以做的最好的事情是从您的钥匙串中删除证书并取回它们,这样 XCode 4 的 Organizer 就不会被“混淆”。我用 7 个“简单”的步骤编译了它:

    1. 删除您的证书:在您的 Mac 上打开名为 Keychain Access 的应用程序(您可以按键盘上的键命令 + 空格键来打开 Spotlight 和键入 Keychain Access 以启动它)。然后选择左上方列表中的login 和左下方列表中的Certificates,您将只删除以“iPhone Developer”或“iPhone Distribution”开头的证书。

    2. 您需要通过登录您的 Apple iOS 开发者帐户并转到 Provisioning Portal 然后转到左侧的 Certificates 选项来撤销旧证书菜单。然后找到您的开发者证书并点击右侧的“撤销”链接。

    3. 返回您 Mac 上的 Keychain Access 应用程序,单击菜单栏上的以下菜单:“Keychain Access”->“Certificate Assistant”->“Request a Certificate from证书颁发机构”。如果需要,只需输入您的电子邮件并修改“请求是:”选项,选择“保存到磁盘”选项...一个对话框将询问您要将 CSR 文件保存在哪里,该文件通常称为“ CertificateSigningRequest.certSigningRequest".

    4. 返回在线 Provision Portal 并创建一个新证书,上传您刚刚在旧证书所在的相同选项上生成的文件。

    5. 大约一分钟后...您将在 Certificates 列表下看到您现在可以下载新证书,并且您还可以下载 WWDR 中间证书(请参阅链接在证书列表下)。下载它们并通过双击它们将它们提供给您的 Keychain Access

    6. 您必须转到名为 ProvisioningProvisioning Portal 菜单选项,您将在其中看到所有应用程序的开发配置文件。您必须点击右侧的“编辑”->“修改”链接,并确认证书已被选中。

    7. 最后,只需关闭“XCode 4”。当你重新打开它时,进入菜单“窗口”->“组织者”。因为主办方会从您的钥匙串中读取证书,所以它们应该已经存在。下次插入设备时,只需单击“配置”并确保旧证书已消失而新证书已启用。

    【讨论】:

    • 第 6 步是我所缺少的。单击修改后,我发现检查了另一个开发人员名称而不是我的名称,这就是为什么我没有构建分发权限的原因。谢谢!
    • 非常感谢...我通过 XCode 请求证书,它工作正常并自动为我在钥匙串中创建了证书。但我一直有同样的问题。解决方案是您的第 7 点:重新启动 XCode...现在不再出现错误 :) 非常感谢
    • 非常感谢!这是每次我切换到新机器或任何证书或配置文件发生未知更改时唯一对我有用的答案。其他 stackoverflow 提示(例如按下 Xcode4.3 后刷新按钮或导入/导出序列)都没有帮助。可悲的是,它所说的基本上是你应该重做你第一次注册开发帐户时所做的事情。
    • 顶级答案.. 谢谢。
    【解决方案2】:

    由于某种原因,我发现 Apple 的根证书不在我的钥匙串中。我无法解释为什么。但经过大约 3 个小时的寻找,我终于想通了。我从这里重新下载了它们:

    http://www.apple.com/certificateauthority/

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题(切换到不同的系统),至少从 Xcode 4.5.2(可能更早)开始,您可以导出您的开发者资料。为此,请打开管理器,单击设备部分,然后转到菜单栏中的编辑器子菜单。将有一个具有导入和导出操作的开发人员配置文件条目。从以前的系统导出配置文件,然后将其导入新系统。您可以对其进行密码保护,因此您也可以将其放入您的 SVN/git/whathaveyou,以便跨系统使用。

      【讨论】:

        【解决方案4】:

        您需要将“证书”放入您的钥匙串。它与开发配置文件无关。像这样:Xcode could not find a valid private certificate/valid key-pair for this profile in your keychain

        【讨论】:

        • 它要么是错误的,要么是在错误的钥匙串中。我以前遇到过这个问题。尝试删除它并通过拖放手动重新添加它。
        • 有一个 Certificates 部分,其中包含 iPhone Developer 和 iPhone Distribution 证书,只有 iPhone Distribution 有一个密钥。还有一个我的证书部分,其中包含 iPhone 分发但不包含 iPhone 开发人员证书。这是正确的还是需要整理?
        【解决方案5】:

        您的所有 Mac 上没有完全相同的当前开发者证书私钥。将工作组合从您的钥匙串导出为 .p12,或者通过撤销您的开发者证书并创建一个新的和所有新的配置文件重新开始。

        【讨论】:

          【解决方案6】:

          我从钥匙串中删除了所有内容并撤销了证书并删除了与之相关的所有内容,重新生成了所有内容,现在它可以工作了。

          【讨论】:

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