在使用productsign对pkg进行签名后,无法使用codesign检索证书



在过去的两周里,我一直在努力发布.pkg.

如果我执行codesign -dvv app-version.pkg

我得到app-version.pkg: code object is not signed at all

然后我想用productsign --sign "3rd Party Mac Developer Installer: xxx (yyy)" ./app-version.pkg ./app-version-signed.pkg签名

输出为:

productsign: signing product with identity "3rd Party Mac Developer Installer: xxx (yyy)" from keychain /Users/<user>/Library/Keychains/login.keychain-db
productsign: adding certificate "Apple Worldwide Developer Relations Certification Authority"
productsign: adding certificate "Apple Root CA"
productsign: Wrote signed product archive to ./app-version-signed.pkg

当我用codesign -dvv app-version-signed.pkg检查我的代码设计时,我得到了相同的结果。app-version-signed.pkg: code object is not signed at all


我们正在使用electronic-builder来构建pkg,但该pkg尚未签名。该应用程序使用Developer ID application3rd Party Mac Developer Application进行签名。

简短回答:使用pkgutil --check-signature而不是codesign -dvv

长话短说:扁平包使用的签名格式与其他东西有些不同,您需要使用不同的工具对它们进行签名&检查签名。具体来说,使用productsign而不是codesign对它们进行签名,使用pkgutil而不是codesign来检查签名。

当你在一个包上使用codesign -dvv时,它在寻找它的签名格式,实际上没有。

最新更新