我正在尝试使用命令行实用程序productsign签署OS X安装程序包,但收到错误。
productsign --sign "Developer ID Installer: XYZ" input.pkg output.pkg
productsign: error: Could not find appropriate signing identity for “Developer ID Installer: XYZ”.
当我打开Keychain Access时,我能够看到我在developer.apple.com上创建的证书并导入到我的登录Keychain中。它的Common Name与我的命令行参数匹配:“Developer ID Installer:XYZ”。有没有办法调试这个特定的错误?
答案 0 :(得分:6)
我有同样的问题。我的安装程序证书没有私钥。 您可以通过打开钥匙串来查看,并查找名为“
”的证书开发者ID安装程序:我的公司(1258345791ZL)
如果您附加了私钥,则应该看到
开发者ID安装程序:我的公司(1258345791ZL) (!)私钥
如果您无法展开证书下的私钥,则表示它已丢失。
然后要解决此问题,您必须使用您的苹果ID和
登录developer.apple.com1-尝试删除并再次下载您的证书
2-如果这还不够,请使用以下步骤创建新的
2a - 点击(+)或转到此处:
https://developer.apple.com/account/mac/certificate/distribution/create
2b - 指定生产/开发者ID,然后按继续
2c - 指定“开发者ID安装程序”
2d - 遵循使用钥匙串创建证书请求的说明
2e - 在Apple developper中上传您的证书申请文件
2f - 在钥匙串中下载新创建的证书。
2g - 清理所有其他安装程序证书以确保。
呃瞧,你可以签名。
答案 1 :(得分:4)
检查钥匙串中的私钥。您需要密钥和证书才能进行签名(Apple将此称为“身份”)。
答案 2 :(得分:0)
我遇到了这个问题,这是因为我没有私钥。您将需要CertificateSigningRequest.certSigningRequest
的最佳实践,这和私钥一样好。
选择钥匙串访问>证书助手>向证书颁发机构请求证书。
在“证书助手”对话框中的“用户电子邮件地址”字段中输入电子邮件地址。
在“通用名称”字段中,输入密钥的名称(例如Gita Kumar Dev Key)。
将“ CA电子邮件地址”字段保留为空。
选择“保存到磁盘”,然后单击“继续”。
双击将其添加到登录钥匙串
最终产品ign --sign“开发人员ID安装程序:您的开发人员名称(1A2B3C4D5E)”〜/ Desktop / example.pkg〜/ Desktop / signed-example.pkg