iOS App签名及证书

184 阅读1分钟

学习资料:[http://blog.csdn.net/u012371575/article/details/78748751](iOS App 签名的原理)

刚刚学习了这篇文章,学了个一知半解,先根据自己的理解记下笔记,一来便于自己理清思路,二来便于以后需要的时候再回来继续深入学习。

1.苹果的签名机制是为了解决盗版以及控制三方软件,保证每一个安装到iOS上的App都是经过苹果官方允许的。

2.苹果的签名就是数字签名,基于非对称加密算法实现。

·对称加密:通过同一份秘钥加密和解密数据。
·非对称加密:有两份秘钥,分别是公钥和私钥,用公钥加密的数据要用私钥才能解密,
用私钥加密的数据,要用公钥才能解密。

3.数字签名的大致过程(简约原理过程):

以安装App为例(实际比例子更复杂)
1.Apple后台持有私钥,iOS设备里内置了公钥。
2.下载时,会先用MD5计算出数据包(原始数据)的摘要,相同的数据生成的摘要会一样,
但凡数据被修改过,计算出的摘要就会改变。
3.Apple使用私钥对摘要进行加密,并将加密后的摘要及原始数据一起下载到客户端。
4.客户端计算原始数据的摘要,并用公钥解密摘要,然把计算出的摘要和解密的对比,
一毛一样就说明原始数据没毛病,没被篡改过,可以放心安装。
5.如果数据被篡改过,客户端计算的摘要就会不一样,与解密的摘要不同,则不予通过安装。