数字身份等于公钥+私钥?
Posted
技术标签:
【中文标题】数字身份等于公钥+私钥?【英文标题】:Digital identity is equal to public key + private key? 【发布时间】:2012-03-02 19:13:33 【问题描述】:我正在阅读有关 ios 中的应用程序代码签名的信息,但我不明白为什么私钥和公钥都在一起?当您使用私钥签署应用程序时,公钥和证书的用途是什么?
Xcode 使用您的数字身份在您的应用程序上签名 构建过程。这个数字身份由一个公私钥组成 对和证书。私钥被加密使用 生成签名的函数。该证书由 苹果;它包含公钥并将您标识为 密钥对。
【问题讨论】:
【参考方案1】:我们总结一下流程:
您使用您的私钥加密应用程序可执行文件的散列摘要(如 md5 或 sha-1)。那是“签名”。
您的用户使用您的公钥解密它(他们拥有它是因为它是公开的)并对照可执行文件检查它。只要您的私钥保持私密,就是您“签署”了它。这称为“验证”。
那么数字身份呢:
您的公钥本身并不是公开的,它必须以某种方式共享、“公开”,并由认证机构(特此为 CA)签署,(即 CA 对其进行加密 -或者它的哈希值——用他们的一个,神奇的神秘私钥)这保证了共享过程没有被中间人篡改。
因此,公钥和证书(CA 签名 - CA 加密您的公钥)识别您(因此被视为您的“数字身份”的一部分)并且必须以某种方式到达最终用户(通过第三方,嵌入到可执行文件中,你来命名)
【讨论】:
这听起来有点……枯燥,但当你想到它的时候,你就是签名。【参考方案2】:需要公钥,以便任何人都可以解密应用程序,因此包含在构建中。
【讨论】:
以上是关于数字身份等于公钥+私钥?的主要内容,如果未能解决你的问题,请参考以下文章