签署 mac 安装程序 (pkgmaker)

2024-03-10

我的安装程序是使用 PackageMaker 创建的。之后,我使用以下命令对安装程序进行了代码签名。

产品签名——签名“Blah, Inc.”安装.mpkg/CS/安装.mpkg

这似乎工作得很好,我可以看到它是使用以下命令签名的。

pkgutil --check-signature Install.mpkg

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

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

1)安装前是否有图形化方式检查代码签名? (我不想运行命令行)

2)我使用finder从mpkg文件中删除了一个文件夹,以查看安装程序是否会抱怨篡改。但这种情况并没有发生。如果安装程序被篡改,有没有办法停止安装?

3)我还使用 xcode 的使用证书选项对包中的所有二进制文件(主要是守护进程)进行了代码签名。我再次能够看到二进制文件已签名,但是我确实收到了一条消息 内核[0]:代码签名: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 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。但我仍然不太清楚他们的意思。有人可以帮助我吗?


You can sign .mpkg包裹,但您必须用Developer ID Application证书和not the Developer ID Installer cert.

当您签署.mpkg您收到一个数字警告,提示内部包必须签名,但签名似乎在有或没有内部包的情况下都有效.pkg signed.

I have tested that modifying an internal .pkg causes the .mpkg to fail the Gatekeeper check Broken Installer

因此,对于每个内部 .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>"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

签署 mac 安装程序 (pkgmaker) 的相关文章

随机推荐

  • 从点(x,y)以给定角度在边界内绘制一条线[重复]

    这个问题在这里已经有答案了 我正在尝试在 JavaScript 画布上画一条线 我有两个点A和B 如图所示 我使用此代码来查找这两点之间的角度 p1 is point A and p2 is point B var theta Math a
  • 为什么当我使用 DriverManager.getConnection 时我的 SQL 连接会卡住?

    我的 Java 代码如下所示 并且我的机器上运行着一个 MySQL 数据库 System out println Loading JDBC Class forName com mysql jdbc Driver newInstance Sy
  • Visual Studio 诊断会话无法启动 - 运行 Visual Studio 2013 诊断需要哪些访问权限

    Visual Studio 2013 诊断会话无法启动 无法加载收集器代理 访问被拒绝 我想知道运行性能和诊断工具需要哪些访问权限 我遇到了同样的问题 对我来说 这是由于我不是我的开发人员计算机上的本地管理员 如果我在本地管理员的提升帐户下
  • Microsoft 推送通知服务定价

    我已阅读有关他们为 Windows 手机提供的推送通知服务的 Microsoft 文档 但没有有关定价的信息 我在某处读到 每天 每个应用程序 每个设备最多可以免费使用 500 个通知 并且它是未经身份验证的模式 但也有经过身份验证的模式
  • 将 HarddiskVolume 路径转换为正常路径[重复]

    这个问题在这里已经有答案了 我有这样的设备路径 设备 HarddiskVolume2 Windows 我想将其转换为像这样的正常路径 C Windows 我尝试使用 fullpath splitpath etc 但没有新结果 该功能执行哪个
  • 如何查看 nusoap 的“原始 xml”输出?

    我有一个通用函数 用于传递 SOAP 命令 我需要查看正在处理的 RAW XML 数据sent到服务器来诊断错误 我怎么做 没关系 这似乎已经非常接近了 http www scottnichol com nusoapintro htm ht
  • 我可以让 IntelliJ IDEA 看起来更像 Eclipse 吗?

    我已经在 Eclipse 中进行开发很长一段时间了 但我仔细研究了 IntelliJ IDEA 9 0 3 因为它具有良好的 Flex 开发工具和 Maven flexmojos 集成 但我就是无法忍受 Ubuntu 10 04 上的外观
  • 如何在Linux中找到处理器队列长度

    尝试确定 Linux 计算机上的处理器队列长度 准备运行但当前未运行的进程数 Windows 中有一个针对此指标的 WMI 调用 但对 Linux 不太了解 我正在尝试挖掘 proc 和 top 以获取信息 有没有办法确定CPU的队列长度
  • JavaScript setInterval 限制?

    我有一个使用 JavaScript 的应用程序setInterval 运行数字时钟 我想知道它执行此函数的次数是否有超时或限制 setInterval 将无限运行 如果您希望终止 循环 可以使用clearInterval 例如 var co
  • 红宝石案例陈述与比较[重复]

    这个问题在这里已经有答案了 有没有办法使用caseruby 中整数比较的语句 我发现了很多比较字符串的例子 但是我的case下面的示例因语法错误而失败 def get price rank price case price when lt
  • 升级到 Xcode 8.2.1 后,iOS 模拟器无法在代理后面工作?

    我正在需要身份验证的代理环境中工作 由于我已升级到 Xcode 8 2 1 模拟器停止工作 但它在 Xcode 8 1 和 7 3 上运行良好对此有任何帮助吗 这是我收到的错误 PAC 获取失败并出现错误 NSURLErrorDomain
  • 在shell脚本中打印C程序的输出

    我有一个程序 我必须使用一个 c 程序将开尔文转换为远 反之亦然 我需要输出方面的帮助 它应该从我放入 file 和用户的 choice 中的数据文件中读取 并在 c 程序文件 farh kel 中运行它 while read val do
  • 禁用某些图像的缓存

    我使用 PHP 库生成一些图像 有时浏览器不会加载新生成的文件 如何仅对我动态创建的图像禁用缓存 注意 随着时间的推移 我必须对创建的图像使用相同的名称 解决这个问题的一个常见而简单的解决方案是向每个动态图像请求添加一个随机生成的查询字符串
  • 头文件中的 const 变量和静态初始化惨败

    在阅读了很多有关静态变量初始化的问题后 我仍然不确定这如何适用于const命名空间级别的变量 我有以下代码header file config h由构建脚本生成 static const std string path1 xyz abc s
  • ExtJS:将 html 表单转换为 ExtJS

    我希望能够将 html 表单转换为 ExtJs 表单 我读到您必须使用 applyTo 做一些事情 但不太确定该怎么做 我希望有人能为我提供一些帮助 Cheers 如果你想将表单中的每个元素转换为 ExtJS 元素 有人在煎茶论坛 http
  • QMediaPlayer 未定义引用链接器错误

    我安装了 Qt5 由于 Qt5 不支持 Phonon 我被迫使用其他东西 所以我决定使用 QtMultimedia 轮廓 QT core gui CONFIG mobility MOBILITY multimedia cpp代码 inclu
  • 用于重新加载部署的 WildFly CLI 命令

    我可以重新启动运行以下 Java 代码的整个 WildFly 服务器 但我只想重新加载名为 test war 的部署 怎么可能呢 public void flushall throws IOException Runtime getRunt
  • Angular FormArray 内容顺序

    Hya 我有以下设置 App Component Ts 内容 carForm FormGroup constructor private fb FormBuilder this carForm this fb group name type
  • 未配置 SQL 方言 (Phpstorm)

    我正在研究 Google oauthorization2 并遇到问题 未配置 SQL 方言 这就是为什么我的查询没有执行并且数据将进入表的原因 我在下面列出了我遇到问题的两个查询 工具 PhpStorm 8 MySQL 本地主机 user
  • 签署 mac 安装程序 (pkgmaker)

    我的安装程序是使用 PackageMaker 创建的 之后 我使用以下命令对安装程序进行了代码签名 产品签名 签名 Blah Inc 安装 mpkg CS 安装 mpkg 这似乎工作得很好 我可以看到它是使用以下命令签名的 pkgutil