了解HTTPS的三次握手

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

第一次握手

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

第二次握手

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

第三次握手

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

服务器后续

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

后续请求

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

相关推荐
BAGAE3 小时前
MQTT 与 HTTP 协议对比
java·linux·http·https·硬件工程
芙蓉王真的好14 小时前
初阶吃透:HTTP 请求行的格式(Method + URL + Version)详解
网络·网络协议·http
weixin_545019325 小时前
Spring Boot 项目开启 HTTPS 完整指南:从原理到实践
spring boot·后端·https
我叫汪枫6 小时前
《HTTPS 的灵魂:加密、认证与数字证书》
网络协议·http·https
Rysxt_6 小时前
MQTT 与 WebSocket 对比教程:物联网与实时通信协议选择指南
物联网·websocket·网络协议
熊明才6 小时前
解决WSL2实例IP冲突:为多个WSL实例配置独立静态IP
chrome·网络协议·tcp/ip
披着羊皮不是狼8 小时前
HTTP 与 API 入门:理解前后端交互原理
java·网络协议·http·交互
せいしゅん青春之我10 小时前
【JavaEE初阶】网络经典面试题小小结
java·网络·笔记·网络协议·tcp/ip·java-ee
哈哈哈哈~12 小时前
HTTP 协议以及 fiddler 的使用
网络协议·http·fiddler
2501_9159090613 小时前
iOS 抓包实战 从原理到复现、定位与真机取证全流程
android·ios·小程序·https·uni-app·iphone·webview