加解密与HTTPS(5)

news2025/1/17 23:22:55

您好,我是湘王,这是我的CSDN博客,欢迎您来,欢迎您再来~


咱们大学读完之后有毕业证书,并且这个证书可以在学信网查询。专业上有注会、CCIE、律师证等,可以在国家职业认证机构或委托机构的网站上查到。公司注册之后,营业执照信息也可以在天眼查或企查查上找到。从上述场景中,不难发现证书的作用:

1、过往经历的证明;

2、第三方信用担保;

3、唯一合法性检验。

在互联网上也有证书,并且还是天文数字,随便举几个例子看看就知道:

这就是互联网站的「毕业证」。

而且还不是谁都能发这样的证书。现在世界著名证书颁发机构(也叫CA证书授权中心,Certificate Authority)包括:DigiCert(某付宝的毕业证就是它发的)、Comodo、GeoTrust(阿里云的毕业证是它发的)、Symantec、RapidSSL。

有了「毕业证」,就不得不提「学位证」:

1、DV:域名型证书,只需要验证域名的所有权,相当于学士学位;

2、OV:组织型证书,域名和组织身份都要验证,相当于硕士学位;

3、EV:安全性和可信任度最高,特点是浏览器有绿色地址栏,相当于博士学位。

有了「学位证」,还要能够选修不同「专业」:通配符型、万能型、单域名型、多域名型。

真实世界的证书,一般都是学校存档一份,毕业生保存一份。有一些比价特殊的工艺,保证证书不可伪造及唯一性。那么网络证书CA怎么保证安全性、不可伪造及唯一呢?

可以随便找一个有证书的网站,看看TA的证书「长什么样」。

目前,所有证书都由四部分组成:

1、主题信息:常规信息,如国家、地区、组织等;

2、签发者信息:证书机构、签发者使用的签名算法;

3、公钥信息:包括密钥基本信息和扩展信息(策略、约束、扩展域名、时间戳列表等);

4、指纹信息:SHA-1、SHA-256。

那么证书是怎么签发的呢?

1、准备证书元数据:包括签发人、地址、签发时间、有效期等,还包括证书持有者基本信息,比如DN(DNS Name)、 所有者公钥等信息;

2、使用的Hash算法(如SHA-256)对证书元数据进行计算,生成数字摘要;

3、使用签发人的私钥对该数字摘要进行加密,生成一个加密的数字摘要,也就是签发人的数字签名;

4、将数字签名附加到数字证书上,变成一个签过名的数字证书;

5、将签过名的数字证书与签发人的公钥一同发给证书使用者。

就是这样的:

怎么验证证书的真伪呢?

1、证书使用者获通过某种途径(如浏览器访问)获取到该数字证书,解压后分别获得证书元数据和数字签名;

2、使用同样的Hash算法计算证书元数据的数字摘要;

3、使用签发人的公钥对数字签名进行解密,得到解密后的摘要;

4、对比2和3两个步骤得到的数字摘要值,如果相同,则说明这个数字证书确实是被签发人验证过合法证书,证书中的信息(最主要的是所有者的公钥)是可信的。

它的流程是:

关于证书的最后一个问题:证书的关键在于签发人的公钥,但如果签发人本身有问题,信用差,那谁又来替TA担保呢?就好比清北复哈的证书(文凭),谁来保证他们和野鸡大学不一样呢?

真实世界中有国家这个强力后盾为名牌大学做担保,但是互联网里没有这样的威权或公器存在,有的是证书链。

以某付宝为例,TA的证书层级大概是这样:

DigiCert Global Root CA

Secure Site CA G2

*.alipay.com

从上到下,级别依次递减。

就像这样:

这种证书层级结构就是证书链。以刚才的某付宝举例,它的的证书层级有三个级别:

1、终端用户:就是某付宝,该证书包含某付宝的公钥,某付宝的用户支付或者调用某付宝接口,就是使用这个公钥将数据加密后再传给某付宝的;

2、中间签发人:对公钥持有者身份的证书进行认证,负责确认确实是某付宝在使用终端用户证书,也就是负责确认「某付宝确实是某付宝」,这类签发人可以有很多层级;

3、根root:最高级别的签发人,负责认证所有中间签发人,类似于国家教育部,认证和管理下面所有的教育机构。

为了得到终端用户的公钥,就要得到终端用户证书。为了证明该证书可信,必须向上追溯该证书是否被中间签发人机构认证。继续线上追溯,直到找到最终的Root CA。

证书追溯的过程是这样的:


感谢您的大驾光临!咨询技术、产品、运营和管理相关问题,请关注后留言。欢迎骚扰,不胜荣幸~

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

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

相关文章

【UCIe】UCIe DLP/DLLP 介绍

🔥点击查看精选 UCIe 系列文章🔥 🔥点击进入【芯片设计验证】社区,查看更多精彩内容🔥 📢 声明: 🥭 作者主页:【MangoPapa的CSDN主页】。⚠️ 本文首发于CSDN&#xff0…

DNS协议——域名解析

DNS协议 DNS协议是一个应用层协议,作用是域名解析   使用DNS协议的原因,就是因为哪怕是点分十进制,对于我们都不太友好,因此使用域名来代替IP地址,比如www.baidu.com   最开始的时候,DNS系统只是一个普…

java基于ssm的个人博客系统个人博客网站个人博客项目源码

简介 Java ssm开发的个人博客系统,可以发布博客,照片,站长留言。 演示视频 https://www.bilibili.com/video/BV1sf4y1y7Ne/?share_sourcecopy_web&vd_sourceed0f04fbb713154db5cc611225d92156 技术 mysql,SSM,css,js,jq 功能 简单…

laravel5.5之laravel-admin的使用

目录 一、首先确保安装好了laravel,并且数据库连接设置正确 二、运行下面的命令来发布资源 三 、后台项目文件 四、静态文件 五、访问后台 六、参考文档 一、首先确保安装好了laravel,并且数据库连接设置正确 composer require encore/laravel-adm…

Verilog语法笔记(夏宇闻第三版)-简单的Verilog HDL模块

目录 简单的Verilog HDL程序介绍: 模块的结构 : 模块的端口定义: 模块内容: I/O说明的格式: 内部信号说明: 功能定义: 简单的Verilog HDL程序介绍: 下面先介绍几个简单的Veri…

高可用Keepalived在Linux中的应用

一、高可用 1.高可用介绍 (1)普通理解 两台服务器启动相同的业务系统,当有一台机器宕机,另外一台服务器快速接管服务,对于用户来讲是无感知的。 (2)专业理解 高可用是分布式系统架构设计中必…

Linux安装Docker与基本使用

Docker 常用于服务部署的一种方案 准备 1.云服务器或者虚拟机 2.Centos 系统 3.下载XFtp 和 XShell 安装Docker 首先删除系统中旧版本Docker或者残留文件 #卸载所有 yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-lo…

Spring从入门到精通 | 动力节点老杜

目录 一、Spring启示录 1、OCP开闭原则 2、依赖倒置原则(DIP原则) 3、控制反转(重点) 4、Spring框架(重点) 二、Spring概述 Spring的8大模块 ​编辑 Spring特点 1、轻量 2、控制反转IOC 3、面向…

Qt Mac阻止和启用休眠

阻止电脑休眠,在win下是使用win api实现的,用Qt跨平台开发,实现Mac的阻止休眠,也需要Mac本身的api来实现。经过网上查资料,找到了一个能用的,链接如下。原生mac开发用的是Object-c,所以该实现用…

Kyligence 客户案例“泰康集团精细化经营分析与运营平台”获评数据智能最佳实践案例

近日,“2022 爱分析中国数据智能最佳实践案例”评选结果正式揭晓。Kyligence 携手泰康集团申报的“泰康集团精细化经营分析与运营平台”项目经过多轮角逐脱颖而出,最终获评“中国数据智能最佳实践案例”。同时,Kyligence 通过综合能力评估&am…

Linux Shell脚本编程提高

Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核,不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序.Shel编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应…

保姆级教程 | 将Oxylabs住宅代理和数据中心代理与MultiLogin集成的操作步骤

MultiLogin是一款集多账户管理、浏览器指纹隐藏等功能于一体的实用解决方案。在您抓取所需公共数据时,将MultiLogin与值得信赖的代理结合使用,可以大幅降低被网站阻止情况发生的概率。 在本篇教程中,将带您学习简单的集成流程,手把…

数说热点 | 2022商业地产的“破局”与“新生”——逆境之下探索新兴可能

2022年,受国内新冠肺炎疫情因素影响,我国经济下行压力明显加大,尤其是部分产业链、供应链受到冲击;部分区域接触型、聚集型特征明显的线下消费表现低迷,给实体商业经营带来挑战。从市场表现看,2022年1-9月&…

数据架构之数据血缘:数据从哪里来,到哪里去

为了直观的感受数据血缘,先从网上找了两张典型的数据血缘的图。下图特点是按照数据仓库数据管理模型给出了基于表(实体)的数据血缘图。 此图是截取Solidatus软件生成的数据血缘图,该图与上图的区别在于给出了基于属性的数据血缘图…

【纯净题目版】笔试题-2023禾赛-FPGA

题目背景 笔试时间:2022.06.22应聘岗位:FPGA开发工程师 题目评价 难易程度:★★☆☆☆知识覆盖:★☆☆☆☆超纲范围:☆☆☆☆☆值得一刷:★☆☆☆☆ 文章目录1. 使用最少的电路实现二分频,给出…

ubuntu20.04 arm-linux-gnueabihf交叉编译opencv4.7.0 与opencv-contrib-4.7.0

安装交叉编译工具链编译的目标硬件是RV1126,编译工具链为32位的arm-linux-gnueabihf,本次使用的是8.3版本,可在Downloads | GNU-A Downloads – Arm Developer进行下载。下载后,解压到自己的安装目录,比如解压到/opt目…

Seata客户端

一个调用链中的所有微服务都是seata的客户端,都必须走下面的步骤 第一步:创建undo_log表 下载地址:https://github.com/seata/seata/tree/develop/script/client/at/db -- for AT mode you must to init this sql for you business databa…

海南三亚游记2022-2023跨年

文章目录1、概述2、交通2.1、广州飞三亚2.2、做高铁,三亚到海口2.3、海口飞广州3、风景3.1、吉阳区3.2、天涯区4、美食5、住宿6、补充2014年海南游记1、概述 2022-12-30~2023-01-04,海南三亚游记,旨在记录攻略 之前已经去过海南2次&#xff…

数据结构的相关概念

基本概念和术语 数据是对客观信息的一种描述,它是由能被计算机识别与处理的数值、字符等符号构成的集合。 数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 关键码值的是数据元素中能起标识作用的数据项。 关系指的是集合…

MFC/WIN32程序美化之使用skinH更换皮肤

官网 https://www.skinsharp.com/htdocs/index.htm 使用比较简单 使用到skinH.dll,这是程序运行的动态支撑库,还有skinH.lib文件,编译时用到的。还有SkinH.h头文件,里面包含了skinH.dll的库函数和功能注释、宏定义 使用VS创建一个WIN32项目 这就是默认的窗体效果了 加了…