简单的SSL如何完成服务器
SSL服务器是否为每个连接的客户端随机生成一个临时密钥对?
我了解公钥加密如何工作 - 公钥加密密钥,秘密解密密钥。 这解释了具有SSL证书的主机如何从客户端接收加密数据。 但是,SSL服务器如何将加密数据发送回客户端?
(在这个问题上有关于这个主题的讨论,虽然它被编辑了很多次,所以它可能会让人困惑。)
服务器证书中的公钥仅在握手期间使用。 在握手过程中,客户端和服务器协商一个秘密共享密钥(每个会话都使用一个新密钥),用于实际加密。
如何协商这个秘密取决于密码套件:RSA或Diffie-Hellman密钥交换。 当使用RSA密钥交换时,客户端将预主密钥加密并将其发送给服务器(唯一能够解密的服务器)。 当使用DH时,客户端在DH交换期间验证服务器发送的临时参数的签名:最终结果也是共享的预主密钥。 然后这与双方交换的随机值一起用来计算主密钥。
在TLS规范部分中有更多的细节称为“握手协议概述”。
链接地址: http://www.djcxy.com/p/21761.html