我的安装程序是使用PackageMaker创建的。之后,我使用以下命令共同设计了安装程序。
产品标志Install.mpkg/ CS/Install.mpkg
这看起来很好,我可以看到它是使用下面的命令进行签名的。
Install.mpkg -检查签名
由于证书安装在我的系统上的密钥链中,安装程序似乎在右上角显示了一个小锁。单击此按钮将打开证书。
如果安装程序放置在没有安装证书的系统中,则不会再看到锁。但是,我仍然可以运行命令来检查证书。
( 1)在安装前是否有一种检查代码签名的图形方法?(我不想运行命令行)
2)我使用finder从mpkg文件中删除了一个文件夹,以查看安装程序是否会抱怨篡改。但这是不可能的。如果被篡改,安装程序是否可以停止安装?
3)我还使用xcode使用证书的选项对包中的所有二进制文件(主要是守护进程)进行了签名。同样,我能够看到二进制文件被签名,但是我确实得到了一个消息内核:代码签名: cs_invalid_page(0x1000):p=224MyDaemon清除CS_VALID。
我在谷歌上找到了a。然而,我仍然不太清楚他们的目标是什么。有人能帮我吗?
发布于 2013-08-15 09:03:12
你只能签flat packages。您的包有扩展.mpkg,我认为它是旧的包格式。如果您想要签名,请确保您使用的是平面包。
发布于 2014-02-04 22:33:21
可以对.mpkg包进行签名,但必须使用Developer ID Application证书而不是Developer ID Installer证书签名。
当您对.mpkg进行签名时,您会得到一个数字,即必须对内部包进行签名,但是签名似乎有效,无论是否有内部.pkg签名。
我已经测试过,修改内部.pkg会导致.mpkg失败。

因此,对于每个内部.pkg文件,您应该:
sudo productsign --sign "<Developer ID Installer: Cert>" "<source.mpkg>/Contents/Packages/<source.pkg>" "<destination.mpkg>/Contents/Packages/<source.pkg>"对于.mpkg,请执行以下操作:
sudo productsign --sign "<Developer ID Application: Cert>" "<Source .mpkg>" "<Destination .mpkg>"https://stackoverflow.com/questions/18049985
复制相似问题