了解HTTPS的三次握手

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

第一次握手

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

第二次握手

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

第三次握手

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

服务器后续

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

后续请求

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

相关推荐
w1wi1 小时前
安卓抓包完全指南(一):从入门到 SSL Pinning 绕过
android·网络协议·ssl
刘马想放假4 小时前
OpenVPN 深度解析:从协议原理到生产实践
运维·网络协议
00后程序员张5 小时前
HTTPS单向认证、双向认证、抓包原理与反抓包策略详解
网络协议·http·ios·小程序·https·uni-app·iphone
June bug6 小时前
Failed to fetch+HTTP 422=Agent ID 不匹配
网络·网络协议·http
minji...9 小时前
Linux 网络基础之传输层协议TCP(九)从内核源码的角度打通系统与网络之间的关系,套接字多态的体现
linux·运维·服务器·网络·网络协议·tcp/ip·http
灰子学技术9 小时前
Envoy IP 标签(IP Tagging)功能实现分析
网络·网络协议·tcp/ip
想唱rap9 小时前
IO多路转接之epoll
linux·运维·服务器·数据库·网络协议·算法·http
初願致夕霞10 小时前
Linux网络编程_数据链路层MAC帧协议与ARP协议
linux·网络·网络协议·macos
仍然.10 小时前
传输层协议TCP
服务器·网络协议·tcp/ip
十五年专注C++开发10 小时前
QHttp: 一个开源的轻量级、异步、高性能 HTTP 库
c++·qt·网络协议·http·qhttp