我的安装程序是使用PackageMaker创建的。之后,我使用以下命令对安装程序进行了编码。
这似乎工作得很好,我可以看到它是使用以下命令签名的。
由于证书安装在我的系统中的钥匙串中,安装程序似乎在右上角显示一点锁定。单击此按钮可打开证书。
如果安装程序放置在未安装证书的系统中,则不再显示锁定。但是我仍然可以运行命令来检查证书。
1)在安装之前是否有以图形方式检查代码签名? (我不想运行命令行)
2)我使用finder从mpkg文件中删除了一个文件夹,看看安装程序是否会抱怨篡改。但这不会发生。如果安装程序被篡改,安装程序是否可以停止安装?
3)我还使用xcode选项使用证书对我的包中的所有二进制文件(主要是守护进程)进行了编码。我再次能够看到二进制文件已签名,但我确实得到了一条消息 kernel [0]:CODE SIGNING:cs_invalid_page(0x1000):p = 224 [MyDaemon]清除CS_VALID。
谷歌搜索,我发现http://feedback.photoshop.com/photoshop_family/topics/photoshop_13_0_4_x64_how_can_i_get_rid_of_the_could_not_complete_your_request_because_of_a。但是我仍然不太清楚他们会得到什么。有人能帮助我吗?答案 0 :(得分:3)
您 可以 签署。mpkg
个套餐,但您必须使用Developer ID Application
证书和不签名Developer ID Installer
证书。
当您在.mpkg
签名时,您会收到一个警告,内部包裹必须经过签名,但无论是否签署了内部.pkg
,签名似乎都有效。
我已经测试过修改内部.pkg会导致.mpkg无法通过Gatekeeper检查
因此,对于每个内部.pkg文件,您应该:
sudo productsign --sign "<Developer ID Installer: Cert>" "<source.mpkg>/Contents/Packages/<source.pkg>" "<destination.mpkg>/Contents/Packages/<source.pkg>"
然后是.mpkg do:
sudo productsign --sign "<Developer ID Application: Cert>" "<Source .mpkg>" "<Destination .mpkg>"
答案 1 :(得分:-1)
您只能签名flat packages
。你的软件包有扩展名.mpkg,我认为是较旧的软件包格式。如果要签名,请确保使用扁平包装。