ITPub博客

首页 > 数据治理 > 数据治理 > 代码签名需求是什么

代码签名需求是什么

原创 数据治理 作者:柠檬没成精 时间:2022-11-08 11:26:44 0 删除 编辑


  代码签名需要借助代码签名证书(cs.anxinssl.com)来完成,本文主要来说说代码签名需求是什么。

  

  目前代码签名只是分块取散列值,保存起来,但好像还不够强大。苹果公司已经为代码签名增加了另外一个机制:需求(requirements)。它可以自定义规则以施加特定限制,比如允许哪些动态库加载。

  

  需求有一套特殊的语法规则,其表达由操作数和操作码组成,丰富的操作码集使得构建任何数量的逻辑条件成为可能。可以在requirements.h[1] 文件里查看都有哪些操作码。

  

  对需求的编译是由 csreq 进行的,对需求的验证可以使用 codesign -v。

  

  对照Xcode的签名需求,我们可以大致推断出这些规则的含义:

  

  由苹果签名且证书节点包含 6.1.9 即 Mac App Store App。

  

  或由苹果签名且证书节点包含 6.2.6 即 "dev_program"。(推测是开发版本的应用)

  

  其证书节点包含 6.1.13 即 Developer ID Applications。

  

  证书的团队标识符(OU)为 APPLECOMPUTER 且 BundleId 为 com.apple.dt.Xcode。

  

  注意其中最后一项的内容,限定了团队标识符和BundleId,这样就能够解决应用被重签名的问题了。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69933154/viewspace-2922316/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-06-19

  • 博文量
    270
  • 访问量
    182376