iOS证书原理

前言:
每一台Mac设备都会有一套对应的公钥和私钥,在我们进行钥匙串访问的时候生成Certificate Signature Request的时候就会生成对应的公钥和私钥。

iOS证书签名流程图如下所示:


图片发自App

现在详细的解释一下每一步的操作:

第一步:Mac设备用私钥对App进行数字签名,生成App代码以及App的签名。

第二步:苹果后台的私钥对Mac设备的公钥进行证书签名,生成Mac公钥以及对应的Mac公钥散列值加密后的值,也即是证书。我们Mac设备的公钥和私钥其实是存放在我们的钥匙串中的。

第三步:苹果后台的私钥对第二步生成的证书以及App ID,Entitlements和Devices进行数字签名,生成对应的数字签名和证书以及App ID , Entitlements 和Devices的明文, 这一步也就是生成描述文件。

第四步:苹果公钥对第三步的描述文件中的数字签名进行验证,验证通过之后,可以拿到里面的证书。然后再用描述文件中的App信息对App的信息以及手机设备信息进行校验。

第五步:用苹果公钥对第四步中拿到的证书进行数字签名验证,验证通过之后可以拿到证书里面的Mac公钥。

第六步:用第五步中拿到的Mac设备的公钥对App进行数字签名校验,验证通过之后就说明可以在真机上面运行。

你可能感兴趣的:(iOS证书原理)