数字证书(CA)的理解

article/2025/9/18 21:51:56

数字证书的理解

前言

「公开密钥加密」「数字签名」无法保证公开密钥确实来自信息的发送者。因此,就算公开密钥被第三者恶意替换,接收方也不会注意到。数字证书可以完美的解决这一问题,保证公开密钥的正确性。

处理流程图解

A持有公开密钥PA和私有秘钥SA,现在想要将公开密钥PA发送给B。

8faef6a9480389bdc7d9d879b168ca9a

  • 首先,A需要向认证中心申请发行证书,证明公开密钥PA确实由自己生成。e56146f850e25f75fe7e7c52023203cf

  • 认证中心里保管者他们自己准备的公开密钥PC和私有秘钥SC。

83705133bb8885e918827fa7e40dd4dd

  • A将公开秘钥PA和包含邮箱信息的个人资料发送给认证中心。

75ee2593fb42f461ce91ab5cf3dc31d6

  • 认证中心对收到的资料进行确认,判断其是否为A本人的资料。确认完毕后,认证中心使用自己的私有秘钥SC,根据A的资料生成数字签名。

e8e51f671825656d5e4a73f4c04d2cf8

  • 认证中心将生成的数字签名和资料放进同一个文件中。

748f2855f8d537fffe7477b078b661b1

  • 然后,把这个文件发送给A

d3536fbcfca52e45f29e130eed540abf

  • A的数字证书如下

762f9bd830d7a429afde217181e75c73

  • A将作为公开密钥的数字证书发送给了B。

b4acb27bd22334d017b98652073179ba

  • B收到数字证书后,确认证书里的邮件地址确实是A的地址。接着,B获取了认证中心的公开密钥。3671818ce11278fc478b523a78b4c193

  • B对证书内的签名进行验证,判断它是否为认证中心给出的签名。证书中的签名只能用认证中心的公开密钥PC进行验证。如果验证结果没有异常,就能说明这份证书的确由认证中心发型。

7efbc1cf38db9b598e1ea2e64bd1c458

  • B确认了证书是由认证中心发行的,且邮件地址就是A的之后,B从证书中取出A的公开密钥PA。这样,公开密钥便从A传到了B。

5dee2f422ba3f16f1d9125c3e0851d74

数字证书的安全性

假设X冒充A,准备向B发送公开密钥PX。

2cb7bd8df0915ff63602585345f0e9ac

但是,B没有必要信任以非证书形式收到的公开密钥。

68beb8c6bcacdbe39f0a2e47551e4c80

假设X为了假冒A,准备在认证中心登记自己的公开密钥。然后X无法使用A的邮箱地址,因此无法获得A的证书。2883f88fd920bb3bb9cf2b111576e23c

原理解析

通过数字证书,信息的接收者可以确认公开密钥的制作者。

B得到了认证中心的公开密钥,就一定来自认证中心吗?

由于公开密钥自身不能表示其制作者,所以有可能是冒充认证中的X所生成的。也就是说,这样同样存在公开密钥问题。6c742ede033b59afc4693bf4ad30bb0a

实际上,认证中心的公开密钥PC是以数字证书的形式交付的,会有更高级别的认证中心对这个认证中心署名。593c78697c751a938bbf617995d6d992

例如,下图的树结构,上面的认证中心为下面的认证中心发行证书。那么,这个树结构是怎么生成的,假设存在一个被社会广泛认可的认证中心A。此时出现了一个刚成立的公司B,虽然B想要开展认证中心的业务,但它无法得到社会的认可。

于是,B向A申请发行数字证书。当然A会对B能否开展认证中心业务进行适当检测,只要A发行了证书,公司B就可以向社会表示自己获得了公司A的信任。于是,通过大型组织对小组织的信赖担保,树结构就建立了起来。

最顶端的认证中心被称为“根认证中心”,其自身的正当性由自己证明。对根认证中心自身进行证明的证书为“根证书”。如果根证书不被信任,整个组织就无法运转。因此根认证中心多为大型企业,或者与政府关联且已经取得了社会信赖的组织。aa82b4e2883414e7ac644b3c68f54da5

数字证书在网站中的运用

上面讲述的是个人之间交付公开密钥的例子,在网站之间的通信也要用到数字证书。只要能收到来自网站的含有公开密钥的证书,就能确认该网站未被第三者冒充。

此处的证书叫作“服务器证书”,同样由认证中心发行。个人的证书与他的有邮箱信息相对应,而服务器证书与域名信息相对应。因此,我们还可以确认网站域名和存储网站本身内容的服务器是由同一个组织来管理的。

数字证书就是像这样通过认证中心来担保公开密钥的制作者,这一系列技术规范被统称为“公钥基础设施”。

HTTPS数字证书

网站配置https访问时,需要向相关权威机构申请数字证书,申请到数字证书后,将数字证书配置到项目里。我们就可以用浏览器通过https来访问这个网站了,这个权威机构是被浏览器官方授予了颁发权限,所以此处根节点是浏览器。

如图所示,一个开启了https的网站,给你颁发证书的机构是浏览器官方指定的,所以浏览器就会显示连接是安全的。8061fa75c7f94219189756ff54e30832

 


http://chatgpt.dhexx.cn/article/JXgsLvOk.shtml

相关文章

CA和数字证书

文章目录 1. 什么是CA2. 数字证书能做什么3. 非对称密钥运算原理4. PKCS系列标准4.1 PKCS#14.2 PKCS#74.2 .1 SignedData的结构分析4.2 .2 envelopedData的结构 4.3 数字信封4.4 PKCS#104.4.1 证书请求过程4.4.2 证书验证过程 5. X.509证书简介5.1 证书文件扩展名5.2 证书链和交…

数字证书原理

证书,也叫做数字证书,是网络世界中的“身份证”。证书将持有者的身份信息和公钥关联到一起,保证公钥确实是这个证书持有者的,通过证书就可以确认持有者的身份。证书由权威的、公正的、可信任的第三方机构颁发,我们把证…

数字证书介绍

1.数字证书的分类 1.1按持有者分类 通常依照证书持有者的类型可将证书分为三类:个人证书、单位证书和系统证书。 个人证书:CA中心给个人颁发的证书,仅代表个人身份,证书包含个人信息和个人公钥。 单位证书:CA中心给…

数字证书相关

概念 数字证书 数字身份(digital identity)是身份标识方式的一种,是一对“钥匙”,其中一个只有她/他本人知道(即私钥),另一个是公开的(公钥)。把数字身份比喻成一个证件…

网站上数字证书原理你知道么?

前言:文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用。接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理,最后演示…

CA证书(数字证书的原理)

转自:http://www.cnblogs.com/JeffreySun/archive/2010/06/24/1627247.html(感谢) 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用。…

数字签名和数字证书的区别与联系

前言 最近在开发关于PDF合同文档电子签章的功能,大概意思就是在一份PDF合同上签名,盖章,使其具有法律效应。签章有法律效应必须满足两个条件: 能够证明签名,盖章者是谁,无法抵赖PDF合同在签章后不能被更改…

什么是数字证书

整理了几篇关于CA证书的经典文章: 文章目录 一、数字证书二、数字证书原理的形象理解 一、数字证书 什么是数字证书 一文看懂HTTPS、证书机构(CA)、证书、数字签名、私钥、公钥 二、数字证书原理的形象理解 数字证书原理与自建CA证书 第一…

数字证书

文章目录 前言一、什么是数字证书二、数字证书申请和验证1.证书申请流程2.浏览器如何验证证书 三、KeyTool自签名证书1.生成自签名证书2.导出证书3.查看证书4.构建CA签名证书 总结 前言 本文主要介绍什么是数字证书和如何使用keytool工具常用命令的使用。最后构建自签名证书。…

GCN的Benchmark数据集溯源

前言 GNN领域最经典的论文之一是Kipf同学2016年发布的GCN。 经典的GCN做了四个数据集的实验,后续工作基本会在这4个数据集上也做一次。 但是由于年代久远,和一些历史问题, 后来者想做对比实验难免遇到一些“从哪里获取"与"是这…

GNN学习笔记(四):图注意力神经网络(GAT)节点分类任务实现

目录 0 引言 1、Cora数据集 2、citeseer数据集 3、Pubmed数据集 4、DBLP数据集 5、Tox21 数据集 6、代码 嘚嘚嘚,唠叨小主,闪亮登场,哈哈,过时了过时了,闪亮登场换成大驾光临,哈哈,这样才…

图卷积神经网络GCN之节点分类

使用pytorch 的相关神经网络库, 手动编写图卷积神经网络模型(GCN), 并在相应的图结构数据集上完成节点分类任务。本次实验的内容如下: 实验准备:搭建基于GPU的pytorch实验环境。数据下载与预处理:使用torch_geometric…

win10下使用pycharm实现基于pyg的cora+citeseer+pubmed数据集的JKNET模型测试

目录 前期准备工作 1、数据集基本情况 2、标准数据集划分方式 3、数据集处理和分析 整体数据分析 cora citeseer pubmed 4、代码参考 GraphSAGE实验结果(代码详细注释) 1、代码结构 2、超参数 3、实验结果(pubmed+mean_pool+sum) 2层SageGCN层 实验补充 3层S…

GraphSAGE模型实验记录(简洁版)【Cora、Citeseer、Pubmed】

1、准备工作 数据集 数据集图节点边特征标签(y)Cora12708542914337Citeseer13327473237036Pubmed119717443385003 数据集划分方式:https://github.com/kimiyoung/planetoid (Zhilin Yang, William W. Cohen, Ruslan Salakhutdinov, Revisiting Semi-Supervised L…

GCN使用的数据集Cora、Citeseer、Pubmed、Tox21格式

文章目录 Cora、Citeseer、Pubmed以Cora为例数据格式示例 Tox21 数据集 本文分享一下图卷积网络GCN里用到的一些数据集的格式 Cora、Citeseer、Pubmed 数据集来源#图#节点#边#特征#标签(y)Cora“Collective classification in network data,” AI magazine,200812708542914337…

小白的靶机VulnHub-Stapler

从这一台靶机开始 就要上VirtualBox了 开机界面就是个这 就凑合一下 开桥接 确定靶机ip地址 :192.168.56.102 要上 了哦!!!!! 扫出 好多 好多 端口 像极了一个蜜罐 我淦 从ftp 入手吧 进行匿名登录 进…

Vulnhub-靶机-Stapler 1

Vulnhub—靶机—Stapler 1 本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关 文章目录 Vulnhub—靶机—Stapler 1一、信息收集二、漏洞利用三、Flag 一、信息收集 【步骤一】使…

调用Jenkins api报错 403 forbidden

** 调用Jenkins api报错 403 forbidden ** String url url "/computer/doCreateItem?nametest&typehudson.slaves.DumbSlave";HttpHeaders headers new HttpHeaders();MultiVpalueMap<String, String> parameters new LinkedMultiValueMap<>()…

Vulnhub 靶机 Stapler write up samba+wp advanced-video ->mysql 密码 连接 john解密 登录后台 wp插件getshell sudo提权

Stapler write up 0x00 靶机搭建0x01 信息收集0x02 漏洞挖掘web思路mysql 思路ftp 思路139 samba思路步骤一&#xff1a;ftp匿名访问步骤二&#xff1a;samba139测试步骤三&#xff1a;web渗透 80步骤四&#xff1a;web渗透12380端口步骤五&#xff1a;利用wordpress漏洞步骤六…

macOS分发app打包+签名+公证+添加票据+生成dmg文件

1.打包 网上有很多使用命令行的打包的方式大家可自行查找,以下是使用Xcode进行打包. 首先配置证书要配置Developer ID Application证书然后使用的是Xcode进行打包:Product->Archive 这种打包方式的好处是省去了签名的过程,但是用网上其他人的命令查看签名时候还是未成功&a…