了解HTTPS的三次握手

HTTPS也有三次握手,不同于HTTP的三次握手

第一次握手

客户端将协议版本号、生成一个随机字符串A、客户端支持的加密算法a~d,向服务器发送请求。

第二次握手

服务器收到请求后,将字符串A存储到本地,并从客户端支持的加密算法中选择一个算法c、并给出一个证书、同时也生成一个随机字符串B,响应到客户端。

第三次握手

客户端收到响应后,根据CA机构提供的整数公钥来解密证书中的签名,确定证书的真实有效性,并校验一些其他信息(例如请求的域名是否与证书中一致),所有校验通过后,将从证书中得到的公钥public_key,并新生成一个随机字符串C,并使用证书中的公钥加密形成secret_key值,发送到服务器。

服务器后续

服务器收到加密后的secret_key值后,用自己的私钥进行解密验证,得到字符串C。三次握手至此完成。

后续请求

三次握手成功后,客户端和服务器后续的每次请求,都将使用前三次的随机字符串A、B、C,使用加密算法c,生成一个对称秘钥symmetric_key,来进行加密解密

相关推荐
菜鸟厚非12 小时前
如何在 Nginx 中配置 HTTPS - Linux
linux·nginx·https
资深web全栈开发13 小时前
QUIC 协议:为什么谷歌要用 UDP 重做一遍 TCP?
网络协议·tcp/ip·udp
jiecy13 小时前
基础问题:1.1.1.2/24 和 1.1.1.2/22 是同一个 IP 吗?
网络·网络协议·tcp/ip
Anthony_23114 小时前
三、路由基础与静态路由
网络·网络协议·tcp/ip·http·udp·智能路由器
huohaiyu14 小时前
UDP协议
网络·网络协议·udp
一轮弯弯的明月14 小时前
TCP连接管理(三次握手与四次挥手)
网络·经验分享·笔记·网络协议·tcp/ip·学习心得
forestsea14 小时前
GitHub HTTPS 提交代码与个人访问令牌配置指南
网络协议·https·github
YYYing.14 小时前
【计算机网络 | 第十篇】计网之应用层(一)—— 万字解析应用层,一文带你搞懂HTTP、WWW、Cookie和Session
网络·网络协议·计算机网络·http
それども15 小时前
线程池阻塞队列选择ArrayBlockingQueue与LinkedBlockingQueue区别
java·开发语言·网络协议
吴秋霖15 小时前
某网站WebSocket协议逆向分析
网络·websocket·网络协议