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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了苹果APP验证原理(2):描述文件与签名信息相关的知识,希望对你有一定的参考价值。

参考技术A 接着上一篇双向签名之后
有了上面那个流程后,看似安全了,可是他真的完美了吗?其实还是有一个缺陷的,开发者完全可以拿到证书后直接给手机安装上,这样做不是就绕开Appstore了吗,那怎么才能让开发者在调试的时候可以直接安装在手机上,而发布的时候必须在Appstore上呢?答案只有一个:描述文件.

还记得咱们在申请证书之后想要成功的真机调试,还有一个重要步骤吧,就是分别配置开发模式、发布模式的描述文件吧"AAA.mobileprovision".你必须要在描述文件内部指定你的设备号,才能调试你对应的app吧。
描述文件是什么?其实就是一组权限控制的文件,它里面记录了可以被运行的设备、你的应用的appid、等其他权限类控制。口说无凭,我这里打开一个开发者模式的描述文件看一看。

我们挑重要的看,它里面就直接记录了指定运行的手机设备号、这个证书日期、还有你开发者的相关信息,当然,你不要尝试着你手动更改他就能够绕过监控,看到那个<key>UIDI<key>了吗?这个描述文件也自带一组唯一编码的,也是会经过效验的,你想要更改信息,只能从苹果服务器去申请,他会随着你xocode打包的时候一起放入App。

hash值 = 数据(100元)进行一次hash,然后用私钥加密, 服务器用公钥解开这个hash值,自己把数据hash意思,和这个hash进行比较。 这个值只有客户端的私钥可以修改。
举一个小小的例子。你消费了100元,并将此消息发送到服务器执行对应操作。这个时候完全有可能出现一个第三方截获这个信息,将100元改为1000元再发给服务器啊。这时候,服务器只要将这个1000元进行一下hash,然后和你发过来的hash比较一下就知道了,因为你发过来的是对100元的hash。
hash是什么?消息摘要,签名是什么?就是对你的app的消息摘要!

还是口说无凭,下面我来看一看。

解压你的app后这个文件夹里面就是你的签名,里面记录的是对你的资源类文件的签名:比如图片、音视频等。

以上是关于苹果APP验证原理(2):描述文件与签名信息的主要内容,如果未能解决你的问题,请参考以下文章

无需苹果企业证书签名,IPA证书签名,ios证书签名,不用签名证书将网页封装成苹果描述文件

iOS 应用签名原理&重签名

创建app数字签名证书

苹果开发者账号那些事儿

苹果开发之App签名

无法验证包,未使用苹果提交证书签名