了解HTTPS的三次握手

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

第一次握手

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

第二次握手

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

第三次握手

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

服务器后续

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

后续请求

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

相关推荐
测试工程喵2 分钟前
Bearer Token的神秘面纱:深入解析HTTP认证头的设计哲学
网络·功能测试·网络协议·http·接口测试·模块测试·登录认证
JAVA学习通1 小时前
[JAVAEE]HTTP协议(2.0)
网络·网络协议·http
TE-茶叶蛋3 小时前
HTTP请求与缓存、页面渲染全流程
网络协议·http·缓存
eguid_15 小时前
WebRTC流媒体传输协议RTP点到点传输协议介绍,WebRTC为什么使用RTP协议传输音视频流?
java·网络协议·音视频·webrtc·实时音视频
星星点点洲6 小时前
RPC、gRPC和HTTP的区别
网络协议·http·rpc
白露与泡影6 小时前
聊聊四种实时通信技术:短轮询、长轮询、WebSocket 和 SSE
网络·websocket·网络协议
可儿·四系桜7 小时前
WebSocket:实时通信的新时代
java·网络·websocket·网络协议
GIS瞧葩菜10 小时前
HTTP 状态码是服务器对客户端请求的响应标识,用于表示请求的处理结果
服务器·网络协议·http
付出不多18 小时前
Nginx安全防护与HTTPS部署
nginx·安全·https
O。o.尊都假都19 小时前
UDP协议
linux·服务器·网络·网络协议·udp