美文网首页
苹果APP验证原理(1):双向签名

苹果APP验证原理(1):双向签名

作者: 铸造中 | 来源:发表于2019-07-31 16:56 被阅读0次

双向签名:

手机和苹果服务器还有开发人员的MAC电脑,他们一共维护着2对公私钥,利用这两对公私钥分别完成双向签名与验证,从而已到达苹果服务器对苹果手机里的appstore的控制权,辨别此app是否是经过授权的。


图1.png

Mac电脑作为开发者的电脑,自己有一组公私钥M,然后苹果服务器自己有一个私钥A,然后手机端保存了一份苹果服务器的公钥A。公钥加密的文件只有对应的私钥才能解开,反之私钥加密的文件只有对应的公钥才能解开。

第一步:从苹果服务器获取开发者证书过程

请求证书.png
1.Mac先发送自己的公钥M向服务器,请求app打包证书。
这里的公钥M CSR文件从哪来呢?他其实就是我们要生成证书之前从“钥匙串访问>证书助理”获取的那个文件: 公钥M.png

这个文件很熟悉吧,这就是MAC端的公钥M,当然口说无凭,我们可以打开看一下。

openssl asn1parse -i -in CertificateSigningRequest.certSigningRequest
结果如下: csr文件.png

注意这个红圈的位置,他指定了采用sha256 RSA加密方式。 这就是你与苹果服务器之间的加密方式。

2.苹果下发证书

苹果拿到公钥M之后,会采用自己的私钥A对你的公钥M和CSR文件里面的hash值进行加密然后发送给你,这个就是你申请到的开发者证书。

这里有个小tip: 证书.png
为什么请求证书的MAC电脑可以直接打包编译,而给另一台MAC就必须要给他P12文件才能编译app? 其实就是因为你给别人P12文件里面包含了私钥M,而直接给证书是不包含私钥M的。就是图上的那个小钥匙。

第二步:Mac电脑拿到证书后生成App

生成app.png

生成应用的时候,Mac用自己的私钥M对我们的App进行了一次签名,然后将真正的可执行文件Macho+App的签名+苹果下发的证书共同打包生成了我们的app包,这个就是安装在手机的上的文件。
当然口说无凭,我们可以对app包打开看一下


APP包文件.png

这里三个划红线的地方分别就是我们的APP签名信息、Macho可以行文件、证书。

第三步:验证App是否有效

验证.png
1.获取公钥M

我们的iphone利用自己的公钥A,解开苹果服务器私钥A签名的证书,获取到里面的公钥M。

2.利用公钥M验证签名

利用得到的公钥M继续解开Mac电脑私钥M的App签名,从而验证APP是否有效。
这就是苹果的APP的双向签名原理。

第二篇:描述文件与签名信息

相关文章

  • 苹果APP验证原理(1):双向签名

    双向签名: 手机和苹果服务器还有开发人员的MAC电脑,他们一共维护着2对公私钥,利用这两对公私钥分别完成双向签名与...

  • 苹果签名双向验证原理

    代码签名 代码签名是对可执行文件或者脚本进行数字签名,用来确认软件在签名后未被修改或损坏的措施。 简单的代码签名 ...

  • 通过脚本对iOS应用进行重签名

    通过之前的文章iOS应用签名原理探究,我们知道苹果是对app做了很多验证,必须符合相应的流程一个app才能安装并运...

  • iOS APP 重签名

    一、APP签名原理 1、为什么要签名 先来看看苹果的签名机制是为了做什么。在 iOS 出来之前,在主流操作系统(M...

  • IOS打包必须要用到的2个文件

    Certificate(证书)就是app在打包的时候必须签名,苹果iOS系统在安装app之前会验证Certific...

  • 苹果APP验证原理(2):描述文件与签名信息

    苹果APP验证原理(1)[https://www.jianshu.com/p/e61907c08d12] 接着上一...

  • 苹果双向验证

    背景知识介绍 ​ base64 编码方案,是一种基于64个可打印字符来表示二进制数据的方法 ​ HASH (散列函...

  • iOS应用重签名技术

    了解了iOS应用签名之后,发现苹果就是通过签名来验证我们的证书能否能签名我们的App,那我们能不能用我们的证书对别...

  • 苹果app签名TF签名如何下载安装?

    很多人对苹果app签名都比较陌生,所以我们想要知道苹果app签名怎么使用,首先我们需要知道什么是苹果app签名,苹...

  • iOS签名原理

    为什么要签名? 保证这个APP是经过苹果官方授权的 iOS签名原理 MAC端生成CSR文件(公钥M)创建CSR文件...

网友评论

      本文标题:苹果APP验证原理(1):双向签名

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