了解HTTPS的三次握手

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

第一次握手

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

第二次握手

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

第三次握手

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

服务器后续

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

后续请求

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

相关推荐
仙俊红1 分钟前
HTTPS 的加密原理
网络协议·http·https
未来之窗软件服务6 分钟前
幽冥大陆(七十八)纯真IP查询封装单文件PHP5.3 —东方仙盟练气期
网络协议·仙盟创梦ide·东方仙盟·纯真ip查询
乾元15 分钟前
当网络变成博弈场:混合云时代,如何用 AI 重构跨域链路的成本与体验平衡
运维·网络·人工智能·网络协议·安全·华为·重构
chenyuhao202414 小时前
Linux网络编程:HTTP协议
linux·服务器·网络·c++·后端·http·https
duration~14 小时前
IPv6 详解
网络·网络协议·ip
福尔摩斯张17 小时前
Linux的pthread_self函数详解:多线程编程中的身份标识器(超详细)
linux·运维·服务器·网络·网络协议·tcp/ip·php
代码游侠17 小时前
复习——网络基础知识
网络·笔记·网络协议·算法·http
wregjru18 小时前
【C++】2.4 map和set的使用
网络·网络协议·rpc
计算机小手19 小时前
Kong + Konga 网关入门实践:Docker 部署、反向代理与插件使用指南
运维·经验分享·网络协议·docker·kong·开源软件
博语小屋20 小时前
TCP:协议、序列化与反序列化、JSON 数据和jsoncpp
linux·网络·网络协议·tcp/ip·json