2

我正在尝试签署我的包裹以供自己分发。

> 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.

为什么?

PS阅读Apple网站-证书是正确的,对吗?

4

1 回答 1

3

有同样的问题。看起来 pkg 和 dmg 需要安装类型。(文档说打开)尝试直接检查上下文。您可能会从中获得更多信息。

spctl -a -t install --context context:primary-signature -v some-app.dmg

还要检查你是否签署了所有框架和里面使用的东西。检查符号链接,因为它们也喜欢粉碎东西。签名不是递归的,您需要手动签名。

于 2016-11-17T10:36:05.223 回答