OS X productsign错误:找不到合适的签名身份

时间:2014-01-20 21:43:34

标签: macos pkg-file

我正在尝试使用命令行实用程序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”。有没有办法调试这个特定的错误?

3 个答案:

答案 0 :(得分:6)

我有同样的问题。我的安装程序证书没有私钥。 您可以通过打开钥匙串来查看,并查找名为“

”的证书

开发者ID安装程序:我的公司(1258345791ZL)

如果您附加了私钥,则应该看到

  

开发者ID安装程序:我的公司(1258345791ZL)     (!)私钥

如果您无法展开证书下的私钥,则表示它已丢失。

然后要解决此问题,您必须使用您的苹果ID和

登录developer.apple.com

1-尝试删除并再次下载您的证书

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的最佳实践,这和私钥一样好。

  • 使用具有开发者帐户的苹果ID登录到developer.apple.com
  • (您可以使用Xcode,但这太难了,因此您可以在浏览器中登录到Apple Developer帐户)
  • 您可以查看现有证书并下载它们,但是如果您没有适用于它们的密钥,那将对您没有帮助
  • 告诉developer.apple.com您要创建一个新的Developer ID Installer,您将必须向其提供一个文件,该文件中说明了如何制作此文件
  • 启动钥匙串访问(这些说明大部分是从苹果偷来的)

选择钥匙串访问>证书助手>向证书颁发机构请求证书。

在“证书助手”对话框中的“用户电子邮件地址”字段中输入电子邮件地址。

在“通用名称”字段中,输入密钥的名称(例如Gita Kumar Dev Key)。

将“ CA电子邮件地址”字段保留为空。

选择“保存到磁盘”,然后单击“继续”。

  • 将此新创建的CertificateSigningRequest.certSigningRequest文件反馈回Safari
  • 下载生成的developerID_installer.cer(您现在已经签名了开发者ID)
  • 双击将其添加到登录钥匙串

  • 最终产品ign --sign“开发人员ID安装程序:您的开发人员名称(1A2B3C4D5E)”〜/ Desktop / example.pkg〜/ Desktop / signed-example.pkg