https的连接过程

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

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

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

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

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

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

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/880002.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

整合多方大佬博客以及视频 一文读懂 servlet

参考文章以及视频 文章: 都2023年了,Servlet还有必要学习吗?一文带你快速了解Servlet_servlet用得多吗-CSDN博客 【计算机网络】HTTP 协议详解_3.简述浏览器请求一个网址的过程中用到的网络协议,以及协议的用途(写关键点即可)-CSDN博客 【…

yolov8旋转目标检测之绝缘子检测-从数据加载到模型训练、部署

YOLOv8 是 YOLO (You Only Look Once) 系列目标检测算法的最新版本,以其高速度和高精度而著称。在电力行业中,绝缘子是电力传输线路上的重要组件之一,它们用于支撑导线并保持电气绝缘。由于长期暴露在户外环境中,绝缘子容易出现损…

【JavaEE】多线程编程引入——认识Thread类

阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能帮到你! 目录 引入: 一:Thread类 1:Thread类可以直接调用 2:run方法 &a…

【25.6】C++智能交友系统

常见错误总结 const-1 如下代码会报错 原因如下: man是一个const修饰的对象,即man不能修改任何内容,但是man所调用的play函数只是一个普通的函数,所以出现了报错。我们需要在play函数中加上const修饰,或者删除man对…

【计算机网络 - 基础问题】每日 3 题(十八)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏&…

SpringBoot环境配置(Spring Boot Profile)

一、介绍 在Spring Boot中,spring.profiles 配置用于定义不同环境下的配置文件。这使得应用可以在不同的环境中使用不同的配置,比如开发环境、测试环境和生产环境等。这种方式可以避免在代码中硬编码配置信息,并且能够更灵活地管理应用的环境…

SpringBootWeb增删改查入门案例

前言 为了快速入门一个SpringBootWeb项目,这里就将基础的增删改查的案例进行总结,作为对SpringBootMybatis的基础用法的一个巩固。 准备工作 需求说明 对员工表进行增删改查操作环境搭建 准备数据表 -- 员工管理(带约束) create table emp (id int …

计算机毕业设计公交站点线路查询网站登录注册搜索站点线路车次/springboot/javaWEB/J2EE/MYSQL数据库/vue前后分离小程序

选题背景‌: 随着城市化进程的加快,公共交通成为城市居民出行的重要方式。然而,传统的公交站点线路查询方式往往依赖于纸质地图或简单的电子显示屏,查询效率低下且信息更新不及时。因此,开发一个功能全面、易于使用的…

OpenMV学习第一步安装IDE_2024.09.20

用360浏览器访问星瞳科技官网,一直提示访问不了。后面换了IE浏览器就可以访问。第一个坑。

基于springboot的智慧社区微信小程序

文未可获取一份本项目的java源码和数据库参考。 本课题研究目标 本文主要对小区生活服务平台的功能和非功能需求进行了分析,系统除了提供物业保修、小区资讯、投诉留言、常用电话等基础功能外,为了满足用户的多样化需求,还提供邻里圈子和有…

238 除自身以外数组的乘积

解题思路: \qquad 这道题要求在 O ( n ) O(n) O(n) 时间内解决,但是不能使用除法。仅使用乘法的话,看上去很难在一次遍历中得出想要的结果,但是没关系,一次遍历不行的话那就试试两次、三次,重要的是分析在…

Python--TCP/UDP通信

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 一.客户端与服务端通信原理 1. 服务器端 服务器端的主要任务是监听来自客户端的连接请求,并与之建立连接,然后接收和发送数据。 创建套接字:首先&#xff0…

【数据库】常用数据库简介

目录 🍔 常用的关系型数据库 🍔 Mysql简介 🍔 SQL 简介 SQL语句的分类 SQL 写法 SQL 常用的数据类型 🍔 DDL语句 对数据库的操作 对数据表的操作 🍔 DML语句 插入数据 insert into 修改数据 update 删除数…

css基础知识笔记

一言: “放任误解就是撒谎。” 文章目录 前言文章有误敬请斧正 不胜感恩!CSS基础教程0.文本样式基础1. CSS选择器2. CSS布局技巧3. 响应式设计4. Emmet语法 总结 前言 写在开始: 今天来看一眼CSS基础知识。 好几天没更新了 先更一篇 文章有…

DataGrip在Windows和MacOS平台上的快捷键

0. 背景信息 No.说明1测试DataGrip版本号 : 2024.2.2 1. Windows下快捷键 2. MacOS下快捷键

Java流程控制语句——跳转语句详解:break 与 continue 有什么区别?

🌐在Java编程中,break和continue是两个重要的控制流语句,它们允许开发者根据特定条件改变程序的执行流程。虽然两者都用于中断当前的行为,但它们的作用方式不同。本文将通过生动的例子来详细解释这两个语句,并使用流程…

C++/Qt 集成 AutoHotkey

C/Qt 集成 AutoHotkey 前言AutoHotkey 介绍 方案一:子进程启动编写AutoHotkey脚本准备 AutoHotkey 运行环境编写 C/Qt 代码 方案二:显式动态链接方案探索编译动态链接库集成到C工程关于AutoHotkeyDll.dll中的函数原型 总结 前言 上一篇介绍了AutoHotkey…

系统架构设计师 需求分析篇一

📘 结构化分析SA 思想 自顶向下:像剥洋葱一样,层层深入,大问题拆成小问题,再拆成更小的问题。 核心模型 数据字典 📔:记录数据元素的点点滴滴,从属性到使用方式,无所…

Spring自定义参数解析器

在这篇文章中,我们认识了参数解析器和消息转换器,今天我们来自定义一个参数解析器。 自定义参数解析器 实现HandlerMethodArgumentResolver的类,并注册到Spring容器。 Component//注册到Spring public class UserAr…

C#解决方案的各种操作

C#开发编程软件下载安装 C#开发编程软件下载安装_c#下载安装-CSDN博客文章浏览阅读208次。。。。_c#下载安装https://rxxw-control.blog.csdn.net/article/details/140879228 C#和S7-1200PLC S7.NET通信 C#和S7-1200PLC S7.NET通信_c# s1200 s7协议设置-CSDN博客文章浏览阅读…