https的连接过程

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

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

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

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

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

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

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

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

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

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

相关推荐
YuMiao1 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
Jony_4 天前
高可用移动网络连接
网络协议
chilix4 天前
Linux 跨网段路由转发配置
网络协议
DianSan_ERP6 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
呉師傅6 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
gihigo19986 天前
基于TCP协议实现视频采集与通信
网络协议·tcp/ip·音视频
2501_946205526 天前
晶圆机器人双臂怎么选型?适配2-12寸晶圆的末端效应器有哪些?
服务器·网络·机器人
linux kernel6 天前
第七部分:高级IO
服务器·网络
数字护盾(和中)6 天前
BAS+ATT&CK:企业主动防御的黄金组合
服务器·网络·数据库
~远在太平洋~6 天前
Debian系统如何删除多余的kernel
linux·网络·debian