数字证书_CA_详解

目录

一、数字证书简介

二、 CA(证书颁发机构)

(一) 证书链(信任链)

1. 根证书

2. 中间证书

3. 网站证书

(二) 抓包软件的证书链与信任机制

1. 抓包通信流程

2. 证书链伪造与信任验证流程

(三) 关于移动设备的CA


一、数字证书简介

数字证书就是网站的身份证 + 公钥、是用来证明身份搭建加密通道用的

证书通常包含以下信息:

  • 持有者的信息: 网站域名(最重要的)、组织名称(对于企业级证书)、地址等。
  • 公钥: 用于加密信息的密钥。
  • 颁发者信息: 签发该证书的证书颁发机构名称。
  • 有效期: 证书的生效日期和到期日期。
  • 数字签名: 由 CA 使用其私钥生成的签名,用于证明证书的真实性和完整性。浏览器可以用 CA 的公钥来验证这个签名。

二、 CA(证书颁发机构)

CA全称:Certificate Authority,即“证书颁发机构”,负责签发证书和提供背书服务的机构。

  • 签发: CA 生成一张新的证书,并用自己的私钥对其内容进行数字签名,正式颁布这个证书。
  • 背书: CA 用自己的名义担保:这个证书里的信息(比如域名、身份、公钥)是我验证过、我认可的。
  • 关于申请证书,有免费的CA(一般用于个人网站),有收费的CA(用于企业/银行等需高信任场景)。

注:CA(证书颁发机构)是一个角色,全球有很多个CA,任何合法的组织都可以成为 CA,只要它有能力签发并管理证书。

(一) 证书链(信任链)

注:如果证书链出现问题,客户端会提示证书不被信任等信息。

证书链:网站证书 → 中间证书 → 根证书。

验证过程

  • 客户端(浏览器)拿到网站证书,用中间证书的公钥验证它的签名。
  • 再用根证书的公钥验证中间证书的签名。
  • 最后确认根证书是否在客户端的信任列表中。

证书提供

  • 服务器:发送网站证书和中间证书。
  • 客户端:预装根证书,不需要服务器提供。

1. 根证书

根证书是信任链的起点,由根证书颁发机构自签名,客户端(浏览器)默认信任根证书

根证书预装在您的设备(比如电脑、手机的操作系统或浏览器)中,作为验证其他证书的“信任锚点”。

2. 中间证书

中间证书由根CA签发,授权给中间证书颁发机构,用来签发网站证书。

3. 网站证书

网站证书由中间CA签发,颁给具体的网站或服务器,包含网站的公钥和身份信息(如域名),用于加密通信和证明身份。

网站证书是你访问的网站拿给浏览器的“身份证”,里面包含网站域名、公钥等信息。

常见网站证书类型:

  • DV(域名验证证书)
    • 只验证域名所有权,比如你能证明你控制了 abc.com,就能签。
  • OV(组织验证证书)
    • 除了验证域名,还验证组织/企业的合法存在性和注册信息(工商注册、电话等)。
  • EV(扩展验证证书)
    • 最高级别验证,验证企业真实身份、营业执照、电话、注册地址等。
    • 部分浏览器(不同版本)会在地址栏显示“绿色锁”和公司名。

(二) 抓包软件的证书链与信任机制

1. 抓包通信流程

以访问 https://www.baidu.com 为例:

Burp Suite 在本地充当代理服务器,整个 HTTPS 抓包过程的核心通信路径如下:

  • 浏览器访问百度,实际连接的是本地的 BurpSuite 代理(如 127.0.0.1:8080)
    • 浏览器只与 Burp 通信,浏览器不与百度服务器做交互。
  • Burp 将请求转发给真实的百度服务器
  • 百度返回响应 → Burp 拦截并解析 → 再转发给浏览器
    • 浏览器收到的响应其实是 Burp 伪装百度发出的。

2. 证书链伪造与信任验证流程

由于浏览器访问的是 HTTPS,必须进行证书验证。流程如下:

  • 浏览器要求:提供 https://baidu.com 的合法证书
  • 但此时它连接的是 BurpSuite,不是百度。
  • Burp 动态生成伪造的“baidu.com”站点证书
    • 此证书由 Burp 内部的自签名 CA 生成(非真实百度证书)。
  • 浏览器校验证书的签发者
  • 若浏览器的CA中没有Burp自签名CA,浏览器就会提示:证书无效 / 连接不安全 / 无法建立安全连接等安全告警。

所以抓包软件一般都会有一个CA证书导入导出的功能。

(三) 关于移动设备的CA

安卓和苹果都把CA明确区分成了两种:

  • 系统 CA(System CA)
    • 出厂时就内置在操作系统里的根证书
    • 只能由厂商签名后刷入系统分区
    • 默认所有 App 都信任
    • 普通用户(非 root)无法修改或新增
  • 用户 CA(User CA)
    • 用户手动安装的证书(比如通过设置 → 安全 → 受信任凭据 → 用户)
    • 存在于用户空间

从 Android 7/ iOS 10 开始以后的版本,默认大部分APP不信任用户CA,所以即使把抓包软件的CA证书导入到手机中也没用除非是把证书装到了系统CA区(需要ROOT权限)

注:手机开启ROOT之后,也会遭受大部分APP限制,ROOT手机限制使用之类的。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Qt Creator 11.0创建ROS2 Humble工程

Qt Creator 11.0创建ROS2 Humble项目工程 安装ROSProjectManager插件创建ROS2项目在src下添加packagegit clone ROS2功能包编译运行安装ROSProjectManager插件 安装ROSProjectManager的主要流程参考官方的流程,地址(ros_qtc_plugin)。 此处采用二进制安装: sudo apt inst…

卡西欧模拟器:Windows端功能强大的计算器

引言 大家还记得初中高中时期用的计算器吗?今天给大家分享的就是一款windows端的卡西欧计算器。 软件介绍 大家好,我是逍遥小欢。 CASIO fx-9860G是一款功能强大的图形计算器,适用于数学、科学和工程计算。以下是其主要功能和特点的详细介…

软件工程专业的本科生应该具备哪些技能

软件工程专业的本科生需要具备扎实的技术基础、良好的开发流程认知和一定的软技能,以适应软件开发行业的需求。以下从技术技能、开发流程与工具、软技能、实践能力等维度整理核心技能清单,供参考: 一、核心技术技能 1. 编程语言 - 必学基础语…

微信小程序实现运动能耗计算

微信小程序实现运动能耗计算 近我做了一个挺有意思的微信小程序,能够实现运动能耗的计算。只需要输入性别、年龄、体重、运动时长和运动类型这些信息,就能算出对应的消耗热量。 具体来说,在小程序里,性别不同,身体基…

点评中是如何实现短信登录的

点评中是如何实现短信登录的 首先在这个项目中 我们主要还是通过session来实现的验证码登录 根据这个图片我们很清楚的知道 首先要制造一个随机的验证码以确保并且保存到redis中(等下我会说为什么不存在session中)接下来前端传来验证码 后端校验后 判断…

Kafka入门-集群基础环境搭建(JDK/Hadoop 部署 + 虚拟机配置 + SSH 免密+Kafka安装启动)

Kafka 简介 传统定义:Kafka是一个分布式的基于发布/订阅模式的消息队列,应用于大数据实时处理领域。 Kafka最新定义:Apache Kafka是一个开源分布式事件流平台,被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用…

从OSI到TCP/IP:网络协议的演变与作用

个人主页:chian-ocean 文章专栏-NET 从OSI到TCP/IP:网络协议的演变与作用 个人主页:chian-ocean文章专栏-NET 前言网络发展LANWAN 协议举个例子: 协议的产生背景 协议的标准化OSI模型参考OSI各个分层的作用各层次的功能简介 TCP/…

Java观察者模式深度解析:构建松耦合事件驱动系统的艺术

目录 观察者模式基础解析核心结构与实现原理Java内置观察者实现Spring框架中的高级应用典型应用场景与实战案例观察者模式变体与优化常见问题与最佳实践总结与未来展望1. 观察者模式基础解析 1.1 模式定义与核心思想 观察者模式(Observer Pattern)是一种行为型设计模式,它…

前端(vue)学习笔记(CLASS 7):vuex

vuex概述 vuex是一个vue的状态管理工具,状态就是数据 大白话:vuex是一个插件,可以帮我们管理vue通用的数据(多组件共享的数据) 场景 1、某个状态在很多个组件来使用(个人信息) 2、多个组件…

论文中pdf图片文件太大怎么办

文章目录 1.使用pdf文件的打印功能将文件导出2.操作3.前后文件大小对比 1.使用pdf文件的打印功能将文件导出 该方法在保证清晰度的同时,内存空间也能实现减少(如果使用线上的压缩pdf工具,清晰度会直线下降) 2.操作 点击文件—&…

Java并发编程:读写锁与普通互斥锁的深度对比

在Java并发编程中,锁是实现线程安全的重要工具。其中,普通互斥锁(如synchronized和ReentrantLock)和读写锁(ReentrantReadWriteLock)是两种常用的同步机制。本文将从多个维度深入分析它们的区别、适用场景及…

C#面向对象实践项目--贪吃蛇

目录 一、项目整体架构与核心逻辑 二、关键类的功能与关系 1. 游戏核心管理类:Game 2. 场景接口与基类 3. 具体场景类 4. 游戏元素类 5. 基础结构体与接口 三.类图 四、核心流程解析 五、项目可优化部分 一、项目整体架构与核心逻辑 该项目运用场景管理模…