第一次握手:客户端先发起连接请求,携带一个随机数、加密算法列表以及支持的TLS版本(明文传输)。
第二次握手:服务端接收到客户端请求后,向客户端发起响应,内容包括选择一个TLS版本和加密算法(RSA等),除此之外,服务端还会发送一个数字证书(该证书包含服务器公钥、等信息,由证书机构颁发,这是为了确保服务器的可信)该数字证书通过机构私钥加密。
第三次握手:客户端接收到服务器发来的信息后,使用预先保存的证书机构的公钥解密数字证书,验证服务器身份是否可信,接着再生成一个随机数,使用服务器刚刚发送的公钥进行加密该随机数,将该信息发送给服务器。
第四次握手:现在客户端服务端都有三个随机数,双方使用相同的算法根据这三个随机数生成会话密钥。双方使用这个密钥发送消息,这一步是确保双方可以正确的加密解密消息
