【发布时间】:2016-05-24 07:18:32
【问题描述】:
我阅读了很多关于这个主题的内容,所有“详细”的解释似乎都错过了一步:
为了让客户端验证服务器,它做了以下事情(根据我的理解):
- 它从服务器获取证书。证书将包含公钥和数字签名。
2?) 客户端使用公钥验证签名是否正常。
这就是我感到困惑的原因。说我是中间的那个人。我可以连接到服务器并获取服务器提供给我的任何信息,然后将其转发给客户端。客户如何知道谁实际出示了证书?
以下是我也知道的一般情况:
-
客户端知道公钥。它用它加密一条消息并将其发送到服务器。
-
服务器知道私钥,解密消息,然后发回。
-
现在客户端可以与服务器共享对称密钥了。
-
中间的人可以在场,但没关系,因为没有私钥就无法解密数据。
那么这与证书中的(静态?)数字签名有何关系?
请帮助我理解该特定步骤(验证签名)。
【问题讨论】:
-
>>我可以连接到服务器并获取服务器提供给我的任何信息,然后将其转发给客户端 - 是的,但只有拥有私钥的人才能解密它
-
我明白这一点。这与“验证签名”有何关系?
-
要签署证书你需要私钥,所以没有原始私钥你不能创建我知道的有效签名
-
但是如果证书中的签名对于所有连接到服务器的人来说都是静态的,那么我总是知道答案会是什么。
-
签名存储在 CA 以验证分配给 "this" crt 的 "this" 域名/ip 和所有内容是否正确。
标签: ssl-certificate