https的连接过程

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

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

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

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

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

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

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

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

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

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

相关推荐
白帽黑客沐瑶10 分钟前
【网络安全就业】信息安全专业的就业前景(非常详细)零基础入门到精通,收藏这篇就够了
网络·安全·web安全·计算机·程序员·编程·网络安全就业
树码小子44 分钟前
Java网络编程:(socket API编程:TCP协议的 socket API -- 回显程序的服务器端程序的编写)
java·网络·tcp/ip
绿箭柠檬茶2 小时前
Ubuntu 服务器配置转发网络访问
服务器·网络·ubuntu
FPGA_Linuxer3 小时前
FPGA 40 DAC线缆和光模块带光纤实现40G UDP差异
网络协议·fpga开发·udp
real 13 小时前
传输层协议UDP
网络·网络协议·udp
路由侠内网穿透4 小时前
本地部署 GPS 跟踪系统 Traccar 并实现外部访问
运维·服务器·网络·windows·tcp/ip
喵手7 小时前
玩转Java网络编程:基于Socket的服务器和客户端开发!
java·服务器·网络
徐子元竟然被占了!!8 小时前
实验-基本ACL
网络
ftpeak9 小时前
从零开始使用 axum-server 构建 HTTP/HTTPS 服务
网络·http·https·rust·web·web app
LabVIEW开发10 小时前
LabVIEW气体污染无线监测
网络·labview·labview知识·labview功能·labview程序