不一定正确,这是我对TLS握手协议过程的理解。
- 客户端先向服务端发送C_random用于生成对称密钥;
- 服务端再向客户端回传S_random用于生成对称密钥,同时传输的还有选择的加密算法及服务器独有的非对称加密算法的公钥,此公钥加密的数据只有服务器能读;
- 随后客户端生成Premaster secret并通过公钥加密发送给服务器,此时完成整个认证过程;
- 后续双方通过双方协商的加密算法Encryption Method(C_random,S_random,Premaster secret)作为密钥进行加密通信。