了解HTTPS的三次握手

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

第一次握手

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

第二次握手

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

第三次握手

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

服务器后续

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

后续请求

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

相关推荐
jinxinyuuuus7 分钟前
局域网文件传输:连接逻辑的回归——基于“广播域”而非“身份认证”的P2P架构
网络协议·架构·p2p
_星辰大海乀2 小时前
TCP 协议
网络·网络协议·tcp/ip·tcp
q***51898 小时前
Node.js实现WebSocket教程
websocket·网络协议·node.js
重启的码农9 小时前
enet源码解析(4)多通道机制 (Channels)
c++·网络协议
重启的码农9 小时前
enet源码解析(3)数据包 (ENetPacket)
c++·网络协议
2501_915909069 小时前
iOS APP 抓包全流程解析,HTTPS 调试、网络协议分析与多工具组合方案
android·ios·小程序·https·uni-app·iphone·webview
nvd1110 小时前
如何为 GCE 上的 Envoy 代理启用 HTTPS (使用 Google Cloud Load Balancer)
网络协议·https
拾忆,想起10 小时前
Dubbo跨机房调用实战:从原理到架构的完美解决方案
服务器·网络·网络协议·tcp/ip·架构·dubbo
辻戋10 小时前
HTTP的血泪进化史
网络·网络协议·http
拾忆,想起11 小时前
Dubbo网络延迟全链路排查指南:从微服务“快递”到光速传输
网络·网络协议·微服务·架构·php·dubbo