苹果codesign和productsign的区别是什么?我一直在和他们玩,虽然我不能用productsign来签署代码,但我似乎可以用codesign来签署一个包。
因此,有两个主要问题:
发布于 2014-03-13 17:20:50
-用于共同设计应用程序包、框架、验证和操作签名等。
-专门用于共同设计.pkgs和.mpkgs (安装程序包/档案)。
但是为什么我可以用codesign签一个包呢?
codesign工具用于验证您作为单个实体签名的内容--即相同的程序。安装程序包不是一个实体,它实际上是多个实体(内容、安装程序和安装程序脚本/插件)。由于codesign没有区分您的.pkg实际上与它包含的内容完全不同,使用它对安装程序包进行签名可能会导致无效的签名,或者导致安装程序崩溃。
苹果的代码签名指南:
“对于安装程序包(.pkg和.mpkg包),所有内容都是隐式签名的:包含有效负载的CPIO存档,包含安装脚本的CPIO存档,以及材料清单(BOM),每个文件都有一个哈希记录在XAR头中,该头依次被签名。因此,如果在包签名后修改安装脚本(例如),签名将无效。”
https://stackoverflow.com/questions/22385320
复制相似问题