私钥--公钥和私钥成对出现,私钥M表示
私钥A--(A就表示Apple,为了好区分,所以用私钥A表示)
公钥A-- (与服务器私钥A成对)
(本地创建了csr文件以后,可以通过命令查看该文件信息:“$openssl asn1parse -i -in 文件名.certSigningRequest” )
a.设备ID;
b.appID;
c.权限文件;
d.证书文件;
其中d,证书文件包含以下内容:
a.公钥M;
b.公钥M的HASH值;
c.公钥M的签名信息(用私钥A签名的信息);
前往文件夹,可以查看电脑里面的描述文件:~/资源库/MobileDevice/Provisioning Profiles/
cd到文件目录下,可以通过命令查看描述文件:$security cms -D -i 文件名.mobileprovision
a.MachO 文件(一种可执行文件);
b.利用私钥M对MachO签名的文件;
c.描述文件--证书文件;
1.首先验证文件夹里面的证书文件,利用手机里面的公钥A,对证书进行验证(证书包含公钥M签名,所以公钥A可以验证证),验证了证书是否被调包;
2.iPhone手机取出证书里面的公钥M,对app进行验证(因为app是用私钥M进行签名的);
这样的验证过程,验证了APP是否是苹果官方允许的应用,原因如下:
1.苹果允许你的行为,才会给你返回证书文件,给你电脑的公钥M配发证书;
2.有了这个证书,你才能打包APP,将APP安装到手机;
3.利用手机里面的公钥M,验证证书,就侧面的验证了安装行为是否非法;iPhone对app内容,并不做验证;
双向验证,其实,就是两对公私钥的验证!
1.限定设备(只能安装到注册过的手机上);
2.对APP进行限定,只能对某一个app进行签名;
3.还会针对性的进行推送,NFC等等进行限定;
苹果公司,把这一系列限定 *** 作,统称为:授权文件(Entitlements文件),并将这个文件放在了一个叫做Provisioning Profile(描述文件)文件中;
描述文件是在appleDevelop网站创建的,(Xcode登陆appleID以后,它会代替网页自动创建),Xcode打包的时候,会打包进APP文件内
这个文件是开发者签证的文件。
比如说,开发了一个苹果应用程序,那么,要通过这个文件验证之后,才能安装在iPhone手机上。
技术开发者,对这个文件再陌生不过了。
步骤如下:
(1)在主屏幕上找到“设置”图标并打开它。
(2)在设置的列表下,轻按选择“通用”按钮。
(3)然后,向上拖曳屏幕,以显示到屏幕的底部。
轻按“描述文件”按钮。
(4)接着,就就可以查看到“描述文件”的信息。
总结:
其实,iPhone里边的描述文件,有没有关系不大。
而且,这个文件可以在MAC上,需要时进行安装。
如果说没有这个文件,则无法将开发者应用程序,安装到iPhone手机上。
一般用户,可以不用理会这个描述文件。
接着上一篇双向签名之后有了上面那个流程后,看似安全了,可是他真的完美了吗?其实还是有一个缺陷的,开发者完全可以拿到证书后直接给手机安装上,这样做不是就绕开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后这个文件夹里面就是你的签名,里面记录的是对你的资源类文件的签名:比如图片、音视频等。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)