前两篇介绍了 RSA、HASH、和对称加密,今天结合iPhone感受一下苹果的双重认证签名
1.针对普通用户
因为市场上软件参差不齐,苹果为了保证用户手机安全,所以要求必须是通过App Store上下载的App才能进行安装(也就是经过了苹果审核的ipa包才能在手机上安装)
那么如何做到的呢
1.第一层认证 (公钥A 私钥A - 因为后面还有一层 所以给公钥私钥起了个名字)
iPhone手机上存有 公钥A
苹果服务器存有私钥A
这样就保证了苹果手机只能识别苹果服务器传过来的ipa包 - 这一步就叫做代码签名
代码签名的方式跟上节课讲的数字签名是一样的
流程大致就是苹果服务器使用私钥A对App数据的hash值进行签名,手机接收到数据后用公钥A验证这个hash值跟App数据
2.针对开发者用户 企业证书
如果只用一层认证的话 确实保证了用户使用App 只能从App Store上下载的问题
但是伴随而来的问题就是开发者如何使用真机调试了?
接下来就是第二层认证了
Mac电脑上 也有一对儿RSA 我们称之为 公钥M 私钥M
首先我们回顾一下 我们开发者制作证书的过程 来一并解释一下
首先申请证书前 我们需要申请一个csr文件 通过钥匙串访问-证书助理-从证书颁发机构请求证书
这一步其实就是就是把mac电脑里的公钥M传给苹果服务器 然后苹果服务器用私钥A 对公钥M进行签名并返回给mac电脑
然后就生成了.cer文件。
第二步我们通过选择appid 和 cer文件 以及已经在developer网站注册过的设备 生成一个描述文件