复习
目录
正文
一:双层签名、双向验证
双层签名、双向验证。
1:签名示意图
2:两对秘钥、双层签名、双向认证
公钥M,私钥M(他们是一对)
苹果服务器:私钥A,
iOS手机系统:公钥A
2.1:Mac电脑通过csr文件向苹果服务器申请证书,
csr里面有公钥M,其他的必要信息,
2.2:苹果服务器会把证书给mac电脑。
证书:证书是苹果服务器用私钥A对公钥M的一个签名。
包含了公钥M,和公钥M的签名信息,签名信息使用私钥A来签名的。
使用苹果手机的公钥A来验证的。
2.3:描述文件:
设备id列表
appid,应用列表
权限文件
证书在描述文件里面。
2.4:Mac电脑拿到证书、描述文件。
打包生成ipa包。
用私钥M对可执行文件进行签名。app的签名。
把证书放到app中。
打包的时候,会把描述文件放到app中,描述文件包括了证书,应用列表
2.5:把app安装到ios系统中。
p12就是私钥M,
1:用公钥A对证书进行解析,解析出公钥M,
2:用公钥M对app进行验证。
3:描述文件限制:provisoning profile
现在有证书了,就可以安装所有的设备,那就不用上传到appStore。
所以苹果进行了限制,
1:限制设备
2: 具体对某一个app进行签名,对推送,进行了限制。
3:entitlements(授权文件)
描述文件: 里面包含了授权文件和证书签名、
4:查看描述文件的信息;
security cms -D -i ****.mobileprovision
Entitlements 权限
application-identifier:bundleid
get-task-allow:是否允许调试
ExpirationDate:过期时间
ProvisionedDevices:注册的设备。
5:.app里面的签名信息
codesign -d -vv **.app
1:CodeResources:是资源签名
2:应用签名在macho文件中
二:重新签名
1:获取ipa包
助手,
越狱手机中copy,
iTurns:12.6.3版本。