掘金 后端 ( ) • 2021-10-15 14:19
4.在安装过程中,iOS系统首先会使用预置的公钥A对证书进行验证,得到公钥M(验证成功,即说明证书是经过苹果私钥签名过的,根据前面的讲解我们知道这样就说明是经过苹果认证的了),然后使用公钥M对签名进行验证,验证成功后才能将APP安装在设备中。
确保了embedded.mobileprovision 里的数据都是苹果授权以后,就可以使用其中的信息来校验本次安装的合法性,使用公钥A验证Mach-O 的签名信息、验证证书的签名及有效期、验证设备ID是否在设备列表中、Provisioning Profile 中的App ID是否与BundleID是否匹配等等。
在编译生成App 的过程中,Xcode 会通过钥匙串找到与配置证书配对的私钥M对二进制文件进行签名,并将签名信息嵌入到可执行二进制文件中,用于在安装时确认Mach-O 文件是否有被修改 ... 阅读全文