如何检查两个macOS应用程序(一个经过签名和公证的代码)是否相同?

想象以下情况:

  1. 没有Mac开发者帐户的人员A,例如某人正在开发一个开源应用程序,想要让该应用程序正确地进行代码签名(并经过公证并装订)。
  2. 人员B提供代码签名并为人员A公证该应用。

挑战:

人员A如何确保未对来自B的签名代码进行其他修改?

例如,A可以再次从应用程序中删除代码签名和公证信息,然后使用diff来验证原始应用程序的内容与B的内容相同吗?如果是这样,哪个命令可以完成?

也请考虑该应用程序仅仅是一个独立的可执行文件的可能性(或者,该应用程序可能包含诸如助手之类的可执行文件),这意味着该可执行文件包括签名,而不是将其附加到{{1} }。

xuyihao 回答:如何检查两个macOS应用程序(一个经过签名和公证的代码)是否相同?

(免责声明:自2016年以来,我还没有为macOS或iOS构建任何内容,所以我有点落后了-如果我是对的,请为我编辑帖子-但如果此答案不正确,请在评论中让我知道,我会立即将其删除)

基于这些文章:

我对该过程的理解是,实际上根本没有修改您可再发行的可执行文件/应用程序软件包-而是Apple在其服务器上的软件包中记录了文件的哈希值。每当macOS用户运行您的程序时,macOS都会将应用程序文件的哈希发送给Apple,Apple会以公证信息作为响应。

但是,您可以 将公证收据“装订”到可再发行的可执行文件(该文件确实会修改软件包),这使其他macOS用户的计算机可以快速验证公证,而无需联系Apple的服务器。 (尽管在签名证书被泄露的情况下,他们仍然可以检查公证撤销)。

  

人员A如何确保未对来自B的签名代码进行其他修改?

如果收据未装在应用程序包中,则两个包文件的哈希值应相同。

  

例如,A可以再次从应用程序中删除代码签名和公证信息,然后使用diff来验证原始应用程序的内容与B相同吗?如果是这样,哪个命令可以完成?

不是diff,而是shasumhttp://osxdaily.com/2012/02/05/check-sha1-checksum-in-mac-os-x/

shasum ~/Desktop/DownloadedFile.dmg
本文链接:https://www.f2er.com/2878260.html

大家都在问