苹果双向签名原理

代码签名

  • 代码签名是对可执行文件或脚本进行数字签名,用来确认软件在签名后未被修改或损坏的措施。和数字签名原理一样,只不过签名的数据是代码而已。

双层代码签名

  • 在Mac系统中用非对称加密算法生成公钥M,私钥M
  • 苹果自己有固定的一对公私钥,私钥在苹果后台,公钥在没个iOS系统中,这里称为公钥A,私钥A
  • 把公钥M以及一些开发者信息传到苹果后台(这个就是CSR文件),用苹果后台的私钥A去签名公钥M,得到一份数据包含了公钥M以及其签名,把这份数据称为证书。

描述文件

  • 描述文件(Provisioning profile)一般包括三样东西:证书、App ID、设备。当我们真机运行或打包一个项目的时候,证书用来证明我们的程序的安全性和合法性