iOS签名机制

这里写图片描述

iOS签名机制-流程图
这里写图片描述
这里写图片描述
这里写图片描述

这里写图片描述
为了保证MAC公钥是合法的,要生成一本证书,用证书证明MAC公钥是合法的,苹果充当CA就是证明MAC的公钥是是MAC开发者自己的公钥,证明公钥是合法的,避免别人把你的公钥换掉,2的签名就是证明MAC的公钥是合法的,devices控制只能装到某个设备上,app id 是为了只能调试或者发布某个app id的app, entitlements苹果要搞清楚你的app要申请哪些权限比如推送等,要保障证书,devices,app id entitlements不会被别人篡改就再来一个签名(签名的作用就是防止我的东西被别人改过,一旦加了签名就代表这个东西是我认可的,如果一旦被别人改了,那么一验证签名的时候,签名验证出来的东西跟原来数据不一样,说明这个东西被别人改过,只要是签名肯定是私钥)签名之后就变成mobileprovision这个文件.之后就验证签名先验证devices,app id,entitlement是否跟装的设备,权限,app是否一致,再验证MAC公钥是否合法如果合法,再用MAC公钥验证app代码是否合法,代码没有问题这说明这个app就可以安装到真机上面或者打包上传了
双重认证,一对是苹果自己的apple私钥,apple公钥,一对是MAC自己的Mac公钥,Mac私钥.
第一步操作,就是代码中run,编译你的代码就会对代码进行一次签名
第二步操作
iOS签名机制 - 生成Mac设备的公私钥
这里写图片描述
CertificateSigningRequest.certSigningRequest文件就是Mac设备的公钥
iOS签名机制 - 获取证书
这里写图片描述
证书文件根据你选择的内容如果是开发者证书就是调试的,如果选择发布的证书就是发布的
这里写图片描述
双击安装证书后,在钥匙串中里面可以看到这两个证书
这里写图片描述
这就是第二个步骤,ios_development.cer,ios_distribution.cer文件就是利用apple后台的私钥,对Mac设备的公钥进行签名后的证书文件,苹果在此就相等于CA,CA对Mac的设备的公钥进行签名,生成的东西是证书,证书就是CA利用自己的私钥对你的公钥进行一次认证签名就生成了证书.
iOS签名机制 - 生成mobileprovision
这里写图片描述
这里写图片描述

苹果后台生成mobileprovision,它要了三个东西,devices,app id,证书这就对应这第三步操作,设备,app id ,entitlement权限(已经在app Id中了),证书传给苹果后台,苹果后台用apple私钥签名完毕就变成mobileprovision那么这个app就打包好就可以真机调试或者打包好了.

对文件的认识:
CertificateSigningRequest.certsigningRequest这个文件是Mac公钥
.cer文件: 是证书 - 利用apple私钥(CA),对Mac公钥生成了数字签名
.mobileprovision: - 利用apple私钥,对{.cer证书+devices+AppId+entitlements}进行数字签名

iOS签名机制- appStore
这里写图片描述

p12文件
这里写图片描述
这里写图片描述
导出p12用于团队协作,导出p12给同事用,同事也可以用p12文件进行真机调试.给别人电脑上也可以进行真机调试,p12中(有证书,私钥)给别人因为自己的私钥不可能给别人,所以用p12中的东西.
1:iOS设备里就有apple的公钥

猜你喜欢

转载自blog.csdn.net/u012581760/article/details/80170141