【发布时间】: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:
- 确保未在 Keychain Access 中选择任何内容,单击 Keychain Access > Certificate Assistant > Request a Certificate from a Certificate Authority。
- 我输入我的邮箱,接受默认通用名称并点击保存到磁盘.
- 在 developer.apple.com 我点击“+”创建新证书
- 我选择开发者ID申请
- 我上传了上面保存的 CSR
- 我下载了生成的
.cer文件 - 我打开
.cer文件。这将添加证书。如您所见,证书里面没有私钥,就像旧的一样:
不幸的是,我现在没有旧证书,一气之下删除了它,但它看起来像这样:
...虽然在我的情况下它有我的私钥。
我注意到有关创建 CSR 也会创建公钥/私钥对的说法的引用,但我在 Keychain Access 中的任何地方都看不到这些。
之后,我确实设法导入了证书并显示了私钥。我认为这是当我将它导入到与包含私钥“Dan Gravell”的相同钥匙串中时 -登录.但是,我已经尝试复制它,现在证书正在再次导入而没有密钥。
Xcode 外观
我发现 Xcode 中有更多信息。证书旁边显示“缺少私钥”:
当我查看此错误时,建议似乎是证书已由某些不包含私钥的第三方提供给开发人员。但是,就我而言,我是最初创建 CSR 并收到证书的第三方,并且我以为我有私钥,否则我一开始就无法创建 CSR.所有这些物品似乎都在我的钥匙串中。
【问题讨论】:
标签: macos code-signing codesign code-signing-certificate