我一直在寻找有关SSL证书和加密协议的信息。我得到了非常好的答案,特别是在这个网站上。
我只有一件事没有得到。如果我做对了,那么使用非对称加密技术验证身份(我的意思是验证服务器身份,而不是证书身份)。
这意味着步骤将是(如果我错了就阻止我):
什么阻止虚假服务器像这样做,使用真实的证书,例如www.example.com,但没有私钥?
答案 0 :(得分:2)
客户端使用经过验证的公钥来加密随机质询字符串 并将其发送到服务器。
客户端使用服务器的公钥加密内容的密钥交换模式是RSA密钥交换模式。在section F.1.1.2 of the TLS specification中有完整的描述。
本质上,客户端生成预主密钥,使用服务器的公钥(在服务器发送的服务器证书中找到)对其进行加密,然后将其发送到服务器(在客户端密钥交换消息中)。而已。只有具有匹配私钥的服务器才能解密它。服务器不会将任何解密版本发送回客户端,因此无法要求第三方执行您似乎想到的任何操作。
答案 1 :(得分:-2)
这只是一个稻草人的论点。您列出的步骤完全是虚构的。 实际步骤为:
只有具有与证书中的公钥对应的私钥的服务器才能成功。
我建议你做一些阅读,而不是在互联网上随意发帖:尝试规范性参考:RFC 2246。