数字身份等于公钥+私钥?

时间:2012-03-02 19:13:33

标签: iphone ios xcode code-signing

我正在阅读iOS中的应用程序代码签名,我不明白为什么私钥和公钥都在一起?使用私有文件签署应用程序时使用的公钥和证书是什么?

enter image description here

  

Xcode使用您的数字身份在期间签署您的应用程序   构建过程。该数字身份包括公钥 - 私钥   配对和证书。私钥由加密使用   用于生成签名的函数。证书由。颁发   苹果;它包含公钥并将您标识为所有者   密钥对。

2 个答案:

答案 0 :(得分:3)

让我们总结一下这个过程:

使用您的私钥加密应用程序可执行文件的散列摘要(如md5或sha-1)。那" 签署"。

您的用户使用您的公钥解密(他们拥有它,因为它是公开的)并根据可执行文件进行检查。只要您的私钥保密,您就可以签署""它。这称为" 验证"。

那么数字身份怎么样:

您的公钥本身并不公开,它必须以某种方式共享,"公开",并且也由认证Autority(特此CA)签名, (这是CA加密它 - 或者它的散列 - 与它们的一个,神奇的神秘私钥)这保证了共享过程没有被篡改一个男人在中间。

因此,公钥和证书(CA签名 - CA加密您的公钥)识别您(因此被视为您的"数字身份的一部分")并且必须到达最终用户以某种方式(通过第三方,嵌入到可执行文件中,您命名的方式)

答案 1 :(得分:0)

需要公钥,以便任何人都可以解密该应用程序,因此包含在构建中。