名词解释:
CertificateSigningRequest.certSigningRequest : 电脑的公钥 (钥匙串里导出来的)
appId:应用唯一标识符
devices:设备信息
entitlements: 先来说下这个entitlements是干什么用的:Entitlements 为你的App授予特定的能力以及一些安全方面的权限 ,例如iCloud, push notifications, Apple Pay, and App Sandbox,我们这里只讨论他在远程推送中是起到什么作用的
1.Mac公钥 使用Apple私钥加密
2.和devices、app id、entitlements一起再次使用Apple私钥加密成mobileprovision文件
3.应用代码文件使用Mac私钥加密 成带签名的App文件
4.使用Apple公钥解密mobileprovision 后再次使用Apple公钥解密证书得到Mac公钥
5.使用得到的Mac公钥验证Mac私钥加密的App文件如果验证通过,表示App未被篡改,安装成功,否则表示被篡改,不能安装