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

Rav*_*avi 8 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”.
Run Code Online (Sandbox Code Playgroud)

当我打开Keychain Access时,我能够看到我在developer.apple.com上创建的证书并导入到我的登录Keychain中.它的Common Name与我的命令行参数匹配:"Developer ID Installer:XYZ".有没有办法调试这个特定的错误?

gai*_*ige 7

检查钥匙串中的私钥。您需要密钥和证书才能进行签名(Apple 将其统称为“身份”)。

  • @gman 你的 `.cer` 文件只是证书。希望您保留了旧钥匙串,如果是这样,请打开它并单击 _Keys_ 类别。您应该看到 1+ 个私钥。如果他们有披露三角形,请打开它们以找到您要签名的证书。那将是私钥,您应该将其导入新 Mac 上的钥匙串中。如果您没有钥匙串并且无法从备份中检索它,那么您需要上传新密钥并创建新证书。 (2认同)

小智 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开发者中上传您的证书申请文件

2f - 在钥匙串中下载新创建的证书.

2g - 清理所有其他安装程序证书以确保.

瞧,你可以签名.