IOS开发和发布证书使用,代码签名等所用的加密体系是非对称性加密体系。
下面是对维基百科对非对称密码的解释:
公开密钥加密(英语:public-key cryptography,又译为公开密钥加密),也称为非对称加密(asymmetric cryptography),一种密码学算法类型,在这种密码学方法中,需要一对密钥,一个是私人密钥,另一个则是公开密钥。这两个密钥是数学相关,用某用户密钥加密后所得的信息,只能用该用户的解密密钥才能解密。如果知道了其中一个,并不能计算出另外一个。因此如果公开了一对密钥中的一个,并不会危害到另外一个的秘密性质。称公开的密钥为公钥;不公开的密钥为私钥。
非对称性加密体系一般两种方式:
加密密钥是公开,这用于客户给私钥所有者上传加密的数据,这被称作为公开密钥加密。例如,网络银行的客户发给银行网站的账户操作的加密数据。
解密密钥是公开,用私钥加密的信息,可以用公钥对其解密,用于客户验证持有私钥一方发布的数据或文件是完整准确的,接收者由此可知这条信息确实来自于拥有私钥的某人,这被称作数字签名,公钥的形式就是数字证书。例如,从网上下载的安装程序,一般都带有程序制作者的数字签名,可以证明该程序的确是该作者(公司)发布的而不是第三方伪造的且未被篡改过(身份认证/验证)。
与对称密钥加密相比,优点在于无需共享的通用密钥,解密的私钥不发往任何用户。即使公钥在网上被截获,如果没有与其匹配的私钥,也无法解密,所截获的公钥是没有任何用处的。
王中周的ios code signing对证书的生成以及使用过程很好的解释了。
补充阅读ios签名机制(objc.cn 17期内容)。
占坑,有时间再详细讲pp配置文件......