了解HTTPS的三次握手

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

第一次握手

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

第二次握手

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

第三次握手

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

服务器后续

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

后续请求

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

相关推荐
zt1985q12 小时前
本地部署源代码管理解决方案 Bitbucket Data Center 并实现外部访问
运维·服务器·数据库·网络协议·postgresql·源代码管理
二营长112 小时前
后端请求https协议接口地址报错
网络协议·http·https
提伯斯64615 小时前
Jetson_Pixhawk局域网UDP连接QGC
linux·网络·嵌入式硬件·网络协议·udp·jetson
hoho_1216 小时前
目标主机使用了不受支持的SSL加密算法【原理扫描】
网络·网络协议·ssl
天启HTTP16 小时前
多开账号时,如何避免网络环境暴露异常特征
网络·网络协议·tcp/ip
wapicn9916 小时前
HTTPS原理详解:从握手到证书链验证,一张SSL证书的完整生命周期
网络协议·https·ssl
bkspiderx17 小时前
HTTP协议:Web通信的“通用语言”解析
前端·网络协议·http
2501_9159184117 小时前
Python如何抓取HTTPS请求包的完整教程与代码示例
android·ios·小程序·https·uni-app·iphone·webview
落叶_Jim17 小时前
Chrome提示不安全3步让你的网站变成HTTPS
chrome·安全·https
http阿拉丁神猫19 小时前
TCP、IPv4和IPv6解读
运维·网络协议·tcp/ip