【问题标题】:Developer ID Application Certificate missing a child key in Keychain Access开发者 ID 应用程序证书在钥匙串访问中缺少子密钥
【发布时间】:2022-11-11 05:42:24
【问题描述】:

我正在尝试重新创建开发人员 ID 应用程序证书,以便我可以签署我的应用程序。我有一个现有的证书,但它即将到期,所以我正在尝试重新生成一个新的。

但是,当我从 developer.apple.com 下载新生成的证书时,导入的证书在 Keychain Access 中没有作为其子节点的密钥。旧证书有这个。当我尝试使用证书进行代码签名时,我收到如下信息:

/tmp/myapp.app/Contents/app/bin/myapp.exe: errSecInternalComponent

我正在关注instructions to obtain a signed certificate using Certificate Assistant

  1. 确保未在 Keychain Access 中选择任何内容,单击 Keychain Access > Certificate Assistant > Request a Certificate from a Certificate Authority。
  2. 我输入我的邮箱,接受默认通用名称并点击保存到磁盘.
  3. 在 developer.apple.com 我点击“+”创建新证书
  4. 我选择开发者ID申请
  5. 我上传了上面保存的 CSR
  6. 我下载了生成的.cer文件
  7. 我打开.cer 文件。这将添加证书。

    如您所见,证书里面没有私钥,就像旧的一样:

    不幸的是,我现在没有旧证书,一气之下删除了它,但它看起来像这样:

    ...虽然在我的情况下它有我的私钥。

    我注意到有关创建 CSR 也会创建公钥/私钥对的说法的引用,但我在 Keychain Access 中的任何地方都看不到这些。

    之后,我确实设法导入了证书并显示了私钥。我认为这是当我将它导入到与包含私钥“Dan Gravell”的相同钥匙串中时 -登录.但是,我已经尝试复制它,现在证书正在再次导入而没有密钥。

    Xcode 外观

    我发现 Xcode 中有更多信息。证书旁边显示“缺少私钥”:

    当我查看此错误时,建议似乎是证书已由某些不包含私钥的第三方提供给开发人员。但是,就我而言,我最初创建 CSR 并收到证书的第三方,并且我以为我有私钥,否则我一开始就无法创建 CSR.所有这些物品似乎都在我的钥匙串中。

【问题讨论】:

    标签: macos code-signing codesign code-signing-certificate


    【解决方案1】:

    我(最终)得到了开发者计划支持的回复。他们签发了我这次通过 XCode 安装的新证书。我在这里记录了我的其他步骤:https://stackoverflow.com/a/74210449/28190

    【讨论】:

      猜你喜欢
      • 2012-10-20
      • 2013-09-09
      • 2011-09-23
      • 1970-01-01
      • 2011-10-13
      • 1970-01-01
      • 2011-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多