rah*_*l90 2 ssl signature tls1.2
请您澄清以下疑问。来自 IBM 网站, https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_7.1.0/com.ibm.mq.doc/sy10520_.htm
数字签名过程的步骤如下:
The sender computes a message digest and then encrypts the digest using the sender's private key, forming the digital signature.
The sender transmits the digital signature with the message.
The receiver decrypts the digital signature using the sender's public key, regenerating the sender's message digest.
The receiver computes a message digest from the message data received and verifies that the two digests are the same.
Run Code Online (Sandbox Code Playgroud)
因此,在握手期间使用一些随机消息创建了一个数字签名。随之而来的是,CA颁发的个人证书中有一个数字签名值,称为“数字签名值”。该签名值存在于证书本身中。但握手期间还会根据随机消息创建另一个签名值。为什么我们这里有 2 次签名,即使是单向 SSL。我的理解哪里错了?谢谢 。
\n\n\n使用发送者的私钥对摘要进行加密
\n
任何时候你看到有关 \xe2\x80\x9c 使用私钥\xe2\x80\x9d 加密的内容时,都希望解释有缺陷。不存在使用私钥\xe2\x80\x9c加密\xe2\x80\x9d这样的东西。作者在这里的意思是使用发送者的私钥对摘要进行签名。调用签名 \xe2\x80\x9cencryption\xe2\x80\x9d 源于对密码学的非常有限的理解:这两个概念具有不同的属性,并且使用不同的算法。例如,并不总是可以\xe2\x80\x9c解密\xe2\x80\x9d签名并恢复签名的摘要(对于某些签名算法是可能的,而对于其他算法则不可能);您所能做的就是验证某个摘要是否具有某个签名。
\n\n话虽这么说,是的,有两个签名。
\n\n从第二个签名中,客户端知道握手是由拥有某个私钥的人签署的。从第一次签名开始,客户端就知道某个私钥的所有者就是某个域名的所有者。通过将两者放在一起,客户端知道握手是由域名所有者签名的。
\n\n事实上,在典型的握手中可能会有更多的签名。客户端如何决定信任 CA?毕竟任何人都可以用自己的私钥签署证书。一般来说,存在一个证书链:服务器的证书由 CA 签名,CA 有自己的证书,由另一个 CA 签名,等等。最后会得到一小组硬编码在客户端操作系统或浏览器中的 CA 证书。这些证书被称为链的根。它们通常被称为 \xe2\x80\x9croot CAs\xe2\x80\x9d,但请注意,作为根 CA 并不是 CA 的属性,因为不同的系统可以具有不同的根 CA 集。
\n\n有关 TLS 的更多信息,请参阅SSL/TLS 是如何工作的?。
\n| 归档时间: |
|
| 查看次数: |
1900 次 |
| 最近记录: |