RSA是一种非对称算法,就是公钥和私钥配对进行加解密的方式,苹果的证书就是用的这种加解密算法,只要搞清楚公钥和私钥分别是什么,就很容易理解苹果证书加密的东西了。
证书的公私秘钥
在申请证书的时候,首先会从自己的Mac电脑上生成一个CSR文件(在钥匙访问串-证书助理)
关于CSR文件:https://en.wikipedia.org/wiki/Certificate_signing_request
这个文件包含了一个公钥,生成的CSR文件后缀名是certSigningRequest
然后去苹果网站上生成证书文件的时候,会要求上传这个CSR文件,并生成一个.cer证书文件
关于证书文件:https://developer.apple.com/documentation/security/certificate_key_and_trust_services/certificates?language=objc
这个文件包含了配对的私钥信息,这样本地安装后tool chain就维护了一对公私钥
打包的过程
打包的过程,首先会先用证书的私钥对应用进行签名,然后把这个cer证书文件打包到应用里面
注意,这里的证书文件是也是经过加密的,这个证书文件是从苹果服务器下载下来的,由苹果的服务器使用私钥进行加密
应用的解密
在安装应用的时候,使用手机内预装的公钥对证书进行解密(每个手机都会有系统级别的公钥,这个公钥与苹果服务器用来加密证书的私钥是配对的),拿到证书后,就可以使用证书内的公钥对应用进行解密了