【问题标题】:Missing private key iphone developer in keychain钥匙串中缺少私钥 iphone 开发人员
【发布时间】:2013-09-09 18:53:36
【问题描述】:

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

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

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

未找到有效的签名身份。

你有什么建议吗?

【问题讨论】:

  • 私钥将在请求证书的机器中。从那台机器上的钥匙串中导出,然后在你的机器上导入。
  • 是的,但我在钥匙链中看不到它,你能帮帮我吗?如果你愿意,我可以给你一些截图
  • 您是第一次发布这个应用吗?你在不同的机器上工作吗?

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


【解决方案1】:

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

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

【讨论】:

  • 感谢您的回答,不,这是我以前工作的机器。 img534.imageshack.us/img534/1840/14q1.png这是我的钥匙串截图
  • 但是我需要撤销旧的吗?或者我可以创建一个新的?
  • 我知道早期的 Apple 一次只允许 1 个证书可用。如果是这种情况,您可能必须撤销旧的并创建一个新的。登录 developer.apple.com/iphone 到您的开发者程序并检查一次。我相信,现在他们确实允许您创建新证书而无需撤销旧证书。
  • 谢谢,我不得不撤销旧证书并创建新的开发证书。现在,当我尝试运行我的应用程序时,我得到:证书身份“iPhone 开发人员:Barbara Strada (YFJG3T6CR3)”在钥匙串中多次出现。协同设计工具只需要一个。但是那个证书只出现一次...postimg.org/image/qjlz8npnb你有什么建议吗?
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

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

    请参阅Can't import Code-signing Public or Private keys using Keychain access (Mac OS X Mavericks) 了解完整说明。

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

        【解决方案5】:
        Profile doesn't match any valid certificate/private key pair in your keychains.
        

        这个特定错误的发生可能有几个原因,但最常见的是 -

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

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

        【讨论】:

          猜你喜欢
          • 2012-10-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-10-29
          • 1970-01-01
          • 2014-10-09
          • 2022-11-11
          相关资源
          最近更新 更多