我试图签署我的包以进行自己的分发。
> spctl --assess -v --type install Unsigned.pkg
Unsigned.pkg: rejected
source=no usable signature
那是对的。
> productsign --timestamp=none --sign "Developer ID Installer: Aaa Ltd." Unsigned.pkg Signed.pkg
productsign: signing product with identity "Developer ID Installer: Aaa Ltd. (123456789)" from keychain /Users/user/Library/Keychains/login.keychain
productsign: adding certificate "Developer ID Certification Authority"
productsign: adding certificate "Apple Root CA"
productsign: Wrote signed product archive to Signed.pkg
很好。
> spctl --assess -v Signed.pkg
Signed.pkg: rejected
source=no usable signature
...可疑
> spctl --assess -v --type install Signed.pkg
Signed.pkg: accepted
source=Developer ID
看起来很完美。
但是当我启动Signed.pkg时:
Signed.pkg can't be installed because its digital signature is invalid.
为什么?
P.S。阅读Apple website - 证书是正确的,对吗?
答案 0 :(得分:1)
有同样的问题。看起来像pkg和dmg需要类型安装。(文档说打开) 尝试直接检查上下文。您可能会从中获得更多信息。
spctl -a -t install --context context:primary-signature -v some-app.dmg
还要检查您是否签署了所有框架和内部使用的内容。检查符号链接,因为他们也喜欢粉碎东西。签名不是递归的,您需要手动签名。