https的连接过程

根证书: 内置在操作系统和浏览器中,可手动添加,下级是中间证书或服务器证书,只有当中间证书或服务器证书关联到已存在的根证书时,中间证书或服务器证书才视为有效

中间证书: 位于根证书和服务器证书之间,他们之间也可以没有中间证书,作用是对根证书增加一个下级,方便管理,由根证书签发

服务器证书: 我们在nginx上部署的证书,就是服务器证书,由根证书签发,用于证明服务器的身份

中间证书和服务器证书的签发过程: 这个签发过程包括CA使用其根证书私钥对服务器证书的内容(除了签名部分)进行哈希计算,并将得到的哈希值(也称为摘要或指纹)使用其私钥进行加密,生成签名。然后,这个签名被附加到服务器证书上,并随证书一起发送给客户端(如浏览器)。

打开https网页的验证证书过程: 在请求https时,服务器会先将配置的ssl证书或和中间证书一起,发送给浏览器,由浏览器从服务器证书向上查找中间证书,在到根证书,验证服务器发送的证书是否和浏览器本地的根证书列表的一项相匹配,匹配则继续请求,不匹配则终止请求.它们的匹配过程如下:

  1. 查找根证书:客户端首先会从服务器证书中的颁发者信息开始,逐级向上查找证书链,直到找到根证书。这个根证书通常已经内置在客户端的受信任根证书颁发机构列表中。

  2. 解密签名:客户端使用根证书的公钥来解密服务器证书中的签名部分。解密后,客户端会得到一个哈希值。

  3. 验证哈希值:客户端接着使用与CA相同的哈希算法对服务器证书的内容(除了签名部分)进行哈希计算,得到另一个哈希值。然后,客户端将这两个哈希值进行比较。

  4. 判断证书有效性:如果两个哈希值相同,说明服务器证书的内容在传输过程中没有被篡改,且该证书确实是由根证书所代表的CA签发的。此时,客户端可以认为服务器证书是有效的,并继续后续的HTTPS连接过程。

如果使用Fiddler开启https代理后,浏览器的请求会被转发到Fiddler,这时就需要Fiddler生成根证书并且信任,和临时服务器证书,这时Fiddler相对浏览器就是一个https服务器,相对远程服务器就相当是一个浏览器,来中转请求,实现解密和捕获HTTPS流量.

相关推荐
AALoveTouch3 小时前
网球馆自动预约系统的反调试
javascript·网络
一个响当当的名号3 小时前
一些主要应用和NAT
运维·服务器·网络
洋葱圈儿6665 小时前
nat静态地址转化
网络·智能路由器
OPTree4125 小时前
H3C网络设备 实验三: 搭建两个局域网,使两个局域网相互通信(路由器,自动分配ip,DHCP协议)
网络·tcp/ip·智能路由器
WTCLLB5 小时前
netgear r6220 路由器,刷openwrt后,系统备份还原
linux·网络·智能路由器·openwrt
做运维的阿瑞7 小时前
Linux系统性能监控与故障定位实战:CPU/内存/I/O/网络
linux·运维·网络
CiLerLinux7 小时前
第五十二章 ESP32S3 UDP 实验
网络·单片机·嵌入式硬件·网络协议·udp
切糕师学AI7 小时前
P2P技术
网络·网络协议·p2p
尤利乌斯.X8 小时前
复杂网络仿真从入门到精通:0 学习路线
网络·学习·matlab·仿真·复杂网络
Chandler2410 小时前
一图掌握 网络协议 核心要点
网络协议·tcp/ip·计算机网络·http