TLS的四次握手
由于HTTP
是明文传输,因此需要加密,于是采用TLS
的RSA
握手去实现加密传输。所以流程变为先通过TCP
的三次握手加上TLS
的四次握手建立连接。
第一次握手
客户端发送client hello
,内容包括TLS
版本号,随机数,可用于加密的协议。
第二次握手
服务器接收到客户端的消息,发送给客户端TLS
版本号,随机数,选择的协议,数字证书。这样完成了两个随机数的交换。数字证书是用于验证服务端的身份。
数字证书验证的方法是通过CA
,CA
获取数字证书后,对其进行哈希,然后将哈希值通过私钥加密公钥解密和原先的哈希值对比,如果相同则说明认证成功。
第三次握手
客户端验证完之后,再生成一个随机数,通过服务端的RSA
加密,通过Client Key Exchange
传给服务端,然后服务端通过RSA
私钥解密,于是双方都获得了三个随机数,生成密钥。再发送一个Change Cipher Spec
的消息,告诉服务端开始使用加密传输。
第四次握手
同样的,服务器也进行第三次握手的操作,开始加密传输。
标签:TLS,握手,四次,服务端,随机数,数字证书,客户端 From: https://www.cnblogs.com/lgats324/p/18179509