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

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】:

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

【讨论】:

以上是关于数字身份等于公钥+私钥?的主要内容,如果未能解决你的问题,请参考以下文章

使用 vertx 在 JWT 公钥/私钥身份验证中握手

NestJs 使用 jwt 和私钥和公钥进行身份验证

数字签名和数字证书

PKI与证书服务

ca数字证书是啥?

如何生成密钥,私钥,签名