首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >签署mac安装程序(pkgmaker)

签署mac安装程序(pkgmaker)
EN

Stack Overflow用户
提问于 2013-08-05 02:55:49
回答 2查看 5K关注 0票数 2

我的安装程序是使用PackageMaker创建的。之后,我使用以下命令共同设计了安装程序。

产品标志Install.mpkg/ CS/Install.mpkg

这看起来很好,我可以看到它是使用下面的命令进行签名的。

Install.mpkg -检查签名

由于证书安装在我的系统上的密钥链中,安装程序似乎在右上角显示了一个小锁。单击此按钮将打开证书。

如果安装程序放置在没有安装证书的系统中,则不会再看到锁。但是,我仍然可以运行命令来检查证书。

( 1)在安装前是否有一种检查代码签名的图形方法?(我不想运行命令行)

2)我使用finder从mpkg文件中删除了一个文件夹,以查看安装程序是否会抱怨篡改。但这是不可能的。如果被篡改,安装程序是否可以停止安装?

3)我还使用xcode使用证书的选项对包中的所有二进制文件(主要是守护进程)进行了签名。同样,我能够看到二进制文件被签名,但是我确实得到了一个消息内核:代码签名: cs_invalid_page(0x1000):p=224MyDaemon清除CS_VALID。

我在谷歌上找到了a。然而,我仍然不太清楚他们的目标是什么。有人能帮我吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-15 09:03:12

你只能签flat packages。您的包有扩展.mpkg,我认为它是旧的包格式。如果您想要签名,请确保您使用的是平面包。

票数 -1
EN

Stack Overflow用户

发布于 2014-02-04 22:33:21

可以对.mpkg包进行签名,但必须使用Developer ID Application证书而不是Developer ID Installer证书签名。

当您对.mpkg进行签名时,您会得到一个数字,即必须对内部包进行签名,但是签名似乎有效,无论是否有内部.pkg签名。

我已经测试过,修改内部.pkg会导致.mpkg失败。

因此,对于每个内部.pkg文件,您应该:

代码语言:javascript
复制
sudo productsign --sign "<Developer ID Installer: Cert>" "<source.mpkg>/Contents/Packages/<source.pkg>" "<destination.mpkg>/Contents/Packages/<source.pkg>"

对于.mpkg,请执行以下操作:

代码语言:javascript
复制
sudo productsign --sign "<Developer ID Application: Cert>" "<Source .mpkg>" "<Destination .mpkg>"
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18049985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档