美文网首页
iOS的App签名原理(一)

iOS的App签名原理(一)

作者: 客三消 | 来源:发表于2020-03-08 18:16 被阅读0次

阅读解释:

本字体代表计算式子
本字体代表关键名词

本机的公钥(LocalPublicKey)
本机的私钥(LocalPrivateKey)
Apple公钥(ApplePublicKey)
Apple私钥(ApplePrivateKey)

AppStore发布

1.通过 钥匙串 - 从颁发机构申请证书,生成 本机的公钥(LocalPublicKey).

2.登陆 AppleDeveloper 后台提交公钥,下载 Distribution.cer 并且导入匙串.

    • Apple私钥(ApplePrivateKey) Encryption 本机的公钥(LocalPublicKey) + 本机的公钥指纹(本机的公钥进行sha256计算后的hash值,也称摘要) = Distribution.cer.
    • 可通过 Apple公钥(ApplePublicKey)解密出 本机的公钥(LocalPublicKey) + 公钥指纹,再对本机的公钥(LocalPublicKey)进行sha256,并且与 公钥指纹 对比,相同则本机的公钥(LocalPublicKey)没有被篡改.可以放心使用.

3.登陆 AppleDeveloper 后台新建App.生成AppID.

    • Team ID + 应用的BundleID + 应用的权利(如内部付费等) = AppID

4.选择对应AppID,创建 DistributionProfile.mobileprovision 文件,下载导入Xcode.

    • AppID + Distribution.cer = DistributionProfile.mobileprovision.
    • AppID + Develop.cer + 设备列表 = DevelopProfile.mobileprovision

5.打包App上传到AppStore.

  • (1)Xcode 使用Apple公钥(ApplePublicKey) Decrypt DistributionProfile.mobileprovision = AppID + Distribution.cer 验证其是否遭到篡改.如果正确,则继续.
  • (2)判断解密出来的 AppIDDistribution.cer是否与当前编译的工程匹配.包括各种应用权利是否匹配.
  • (3)提交到Apple后台.生成IPA.
  • (4)认证审核通过后,IPA使用Apple私钥(ApplePrivateKey)加密,并公布到AppStore.

6.下载IPA到iPhone.

  • IPA由Apple私钥(ApplePrivateKey)加密
  • iPhone内置Apple公钥(ApplePublicKey)
  • (1)Apple公钥(ApplePublicKey) 解密 IPA ,验证IPAsha256摘要是否与解密出来的指纹相同.相同则表示未篡改,此IPA是Apple认证的.可以进行安装.
  • (2)如果证书过期,则直接失败,导致不可安装.

相关文章

网友评论

      本文标题:iOS的App签名原理(一)

      本文链接:https://www.haomeiwen.com/subject/yaxjdhtx.html