在过去的两周里,我一直在努力发布.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 application
和3rd Party Mac Developer Application
进行签名。
简短回答:使用pkgutil --check-signature
而不是codesign -dvv
。
长话短说:扁平包使用的签名格式与其他东西有些不同,您需要使用不同的工具对它们进行签名&检查签名。具体来说,使用productsign
而不是codesign
对它们进行签名,使用pkgutil
而不是codesign
来检查签名。
当你在一个包上使用codesign -dvv
时,它在寻找它的签名格式,实际上没有。