TLS的四次握手

由于HTTP是明文传输,因此需要加密,于是采用TLSRSA握手去实现加密传输。所以流程变为先通过TCP的三次握手加上TLS的四次握手建立连接。

第一次握手

客户端发送client hello,内容包括TLS版本号,随机数,可用于加密的协议。

第二次握手

服务器接收到客户端的消息,发送给客户端TLS版本号,随机数,选择的协议,数字证书。这样完成了两个随机数的交换。数字证书是用于验证服务端的身份。

数字证书验证的方法是通过CACA获取数字证书后,对其进行哈希,然后将哈希值通过私钥加密公钥解密和原先的哈希值对比,如果相同则说明认证成功。

第三次握手

客户端验证完之后,再生成一个随机数,通过服务端的RSA加密,通过Client Key Exchange传给服务端,然后服务端通过RSA私钥解密,于是双方都获得了三个随机数,生成密钥。再发送一个Change Cipher Spec的消息,告诉服务端开始使用加密传输。

第四次握手

同样的,服务器也进行第三次握手的操作,开始加密传输。

posted on 2024-05-08 13:42  lgats324  阅读(338)  评论(0)    收藏  举报