我有一个应用程序,它使用productbuild打包成一个pkg文件,然后使用productsign进行签名。但是,当我运行pkgutil --check-signature时,只显示SHA1签名。我还试图使用报告的这里指令创建一个自签名证书,但问题仍然是一样的。唯一的区别是当使用Apple证书时(Developer ID安装程序:.)所有链都转储到屏幕上,但对于其他证书,只显示SHA1签名。
注:这两份证书报告:
签名算法: sha256WithRSAEncryption
因此,这些证书似乎具有SHA256功能。我下载了另一个用SHA2签名的pkg ( pkgutil工具显示了SHA2签名)。但是,我不知道用什么工具来生产这个包。
如果pkgutil是正确的,而且包中没有SHA256签名,那么如何强制productsign同时使用签名或只使用SHA256签名?
有替代productsign的方法吗?
发布于 2020-02-25 13:56:18
问题不在于如何签署包裹,而在于如何检查签名。它是pkgutil工具的一种缺陷,它只在macOS 10.15 (Catalina)上显示SHA256签名,而在macOS 10.14 (Mojave)上,同一包的相同工具只显示SHA1签名。
因此,即使签名是存在的,它也没有由pkgutil显示。此外,在这个博客中,作者建议使用spctl -a -vv -t install package.pkg来验证包,因为spctl也可以检查是否公证。
https://security.stackexchange.com/questions/226382
复制相似问题