CA证书颁发机构服务器

目录

一、CA证书颁发机构是什么?

二、数字证书可以干什么?

三、PKI:即公钥加密体系(public key cryptography)

四、CA在网络中的工作流程及原理(以网站为例)

五、HTTPS 的工作原理

六、CA私有证书服务器搭建案例


一、CA证书颁发机构是什么?

CA是什么?CA是Certificate Authority的简写,从字面意思翻译过来是凭证管理中心,认证授权。它有点类似我们生活中的身份证颁发机构,这里的CA就相当于生活中颁发身份证的机构。不同于生活中的颁发机构,这里的CA是给服务器颁发证书。颁发证书的目的同生活中的办理身份证的目的类似,都是为了证明一件事,生活中的身份证可以证明我们是一个合法的公民,而服务器颁发证书的目的也是证明我们服务是一个合法的服务器,换句话说就是有了证书我们就可以清楚知道我们访问的服务器到底是不是我们真正想访问的服务器。从而识别我们访问的服务器的真假。

二、数字证书可以干什么?

证书的作用就是为了验证其服务器的真实合法性,以及传输服务端的公钥的作用。而服务器的公钥就是用来客户端向服务端发送随机密码,用来加密随机密码的作用,从而实现,只有服务端可以拿到这个随机密码的作用,实现安全加密通信。

三、PKI:即公钥加密体系(public key cryptography

公钥:用户的公钥可以公开给其它的网络用户。

私钥:只有用户自己才能访问,是用户自己私有的,不能被网络中其它的用户获取。

非对称加密

1、公钥加密私钥解密

Tom想将一个档案发给mike,在发送之前为了对发送的档案进行加密,mike会首先生成一对公私钥并将公钥发给Tom。之后Tom就通过此公钥对档案进行加密并发送给Mike。mike收到档案后根据私钥来对收到的档案进行解密。即使公钥在发送的过程中被窃听者截获,由于此加密的数据只能通过私钥才能进行解密,然而私钥只有mike拥有且不公开,所以窃听者就算截获了档案也是一堆被加密过的乱码。

2、公钥验证

Tom在向Mike发送合同之前会对合同的内容进行hash计算来生成用于验证数据内容的一串数字这串数字就被称为数字指纹,然后在通过私钥对生成的数字指纹进行加密运算生成的一串密文被叫做数字签名。之后Tom就会把合同内容与其计算出的数字签名一起发送给mike。mike收到报文后同样首先对合同的内容进行相同算法的hash运算来生成一串数字指纹,然后在用公钥对数据签名进行解密得到最初由发起者生成的另一个数字指纹,通过把mike计算生成的数字指纹和发起者传输过来的数字指纹进行比较,如果一样说明数据在传输的过程中没有被篡改,如果和发起者生成的数字指纹不一样说明mike收到的合同被篡改了。

对称加密

使用相同的密钥(如私钥)和算法对数据进行加解密。

四、CA在网络中的工作流程及原理(以网站为例)

1、申请证书

假如Server服务器预想在网络上发布一个支持https安全访问的网站,并向网络中的访问者证明自己的网站是真实存在的网站。则网站的开发人员就需要向CA证书颁发机构去申请获取数字证书。在此过程中Server服务器会事先生成一对公私钥,并向CA授权机构递交一份证书申请书,其包含有网站管理者的一些信息和网站服务器的公钥。

2、CA证书颁发机构审核信息

CA证书颁发机构在CA服务器上收到Server网站服务器发送过来的证书申请书后会去核实其申请者递交的信息是否真实可信,经过实际考察确认真实存在且合法后就会在申请者递交的信息上添加其CA机构的一些信息组成一个明文信息,然后CA就会对明文进行哈希运算后,在通过CA的私钥对其进行加密生成数字签名(原理同公钥验证)即带有CA数字签名的明文信息一起构成了数字证书。然后CA再将数字证书颁发给Server服务器。

 

五、HTTPS 的工作原理

1、客户端发起HTTPS请求

用户在浏览器里输入一个 https 网址,然后连接到 server 的 443 端口。

2、服务端的配置

采用 HTTPS 协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请,区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面。

这套证书其实就是一对公钥和私钥,如果对公钥和私钥不太理解,可以想象成一把钥匙和一个锁头,只是全世界只有你一个人有这把钥匙,你可以把锁头给别人,别人可以用这个锁把重要的东西锁起来,然后发给你,因为只有你一个人有这把钥匙,所以只有你才能看到被这把锁锁起来的东西。

 

3、传送证书

服务器在收到用户访问请求后会将自己从CA

4、客户端解析证书

客户端收到网站的数字证书后,会首先判断其数字证书的真假、是否有效被吊销。客户端根据网站数字证书上标注的证书颁发机构,去使用计算机信任的此根CA证书(即CA机构的公钥)去对网站发送过来的证书通过公钥验证的方式进行数字签名的解密比较,如果能够解开说明这个证书是某个CA证书授权机构认证过的、是可信的网站,然后客户端在将包含有此网站公钥的证书保存到本地。否则用户网页就会提示此网站不安全,不可信。

 

5、传送加密信息

这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了。

 

6、服务端解密信息

服务端用私钥解密后,得到了客户端传过来的随机值(私钥),然后把内容通过该值进行对称加密,所谓对称加密就是,将信息和私钥通过某种算法混合在一起,这样除非知道私钥,不然无法获取内容,而正好客户端和服务端都知道这个私钥,所以只要加密算法够彪悍,私钥够复杂,数据就够安全。

 

7、传输加密后的信息

这部分信息是服务段用私钥加密后的信息,可以在客户端被还原。

 

8、客户端解密信息

客户端用之前生成的私钥解密服务段传过来的信息,于是获取了解密后的内容,整个过程第三方即使监听到了数据,也束手无策。

 

六、CA私有证书服务器搭建案例

实验环境:

1.Server-CA证书服务器

192.168.200.254

2.Client-Web网站客户端

192.168.200.28

搭建一台CA服务器

1、安装openssl软件

2、查看openssl的配置文件以及其配置策略

说明:可看到openssl默认配置里面指定了证书存放相关文件的路径,和CA默认匹配策略,其中国家名称、省州名称、组织名称是必须同CA设置的信息一致,当然这些匹配是否和CA设置的一样,是通过配置文件来判断的可自行设置。通用名称是必须要填写的,其他都是可选。

3、由于红帽8.0没有默认生成CA证书根目录结构,所以需根据openssl配置文件自行创建目录结构。

4、为CA服务器生成私钥

genrsa    生成私钥

-out        指定生成私钥的文件存储位置

-des        对生成的私钥加密所使用的加密算法

2049          密钥长度

()   代表在子bash中运行,目的是为了不改变当前Shell中的umask值

5、CA服务器为自身生成自签证书

req                       请求生成证书

-new                新请求

-x509              生成此格式的自签证书,用给自己颁发根CA

-key                指定生成证书所使用的私钥文件路径

-out                指定生成的证书文件保存位置

-days              指定生成证书的有效期

6、查看颁发的CA证书内容

x509             查看X509类型的证书

-in              输入要查看的证书文件

-nount     不输出显示证书编号信息

-text        以文本的方式输出显示证书的详细内容

说明:CA根证书生成以后,网络中的客户端就可以通过把CA根证书保存到本地根证书存储区域来信任由此CA颁发给网络中其它网站或程序的数字证书了。这样当用户访问由根CA机构颁发给网络中https的网站时,用户就可以根据本计算机中保存的根CA机构证书中的公钥(此公钥是CA服务器的公钥)来验证其访问的网站所展示的证书(包含web站点的公钥)是否真是被CA机构认证过,如果客户端用CA的公钥(证书)能够解密出web证书中的数字签名(此签名是CA在给web颁发证书时用CA的私钥签的名),就证明此网站是被CA机构认证过的,是可信的。然后客户端在根据从CA下载下来的证书吊销列表文件,去验证此网站的证书是否已被吊销失效,如果此网站的证书序列号在证书吊销列表内,则表名此网站的证书已被吊销,此网站有问题。如果网站证书验证没有错误,客户端就通过web证书中的公钥来加密传输接下来彼此发送数据用来进行加密的随机密钥,给web服务器,服务器收到用自己的公钥加密的数据包后,根据自己的私钥解密出随机密钥。之后服务器和用户的浏览器就通过此随机密钥来加密彼此之间传输的数据。

客户机申请证书

1、客户机生成私钥

2、生成证书请求模板文件,并将其发给CA服务器。

3、切换到CA服务器创建CA服务器颁发证书所需文件

4、签署客户端的证书申请请求

说明:在跟客户端颁发证书的时候需要依赖两个文件/etc/pki/CA/index.txt和/etc/pki/CA/serial,前者文件主要存放已经颁发的证书信息,后者存放下一个将要颁发的证书的序列号。这里说一下/etc/pki/CA下的各个文件和目录的作用吧,certs目录存放颁发证书的目录,crl存放吊销证书列表文件的目录,index.txt.attr存放证书subject信息是否唯一的配置信息,index.txt.old存放上一次颁发证书的信息,newcerts目录存放已经颁发的证书,并且以序列号命名的证书,每颁发一次证书,在我们指定的路径下生成指定名称的证书后,newcerts目录下会自动生成一个以序列号为名称的证书,这个证书同我们指定路径下存放的证书信息一模一样。private目录存放私钥文件。serial.old存放上一次颁发证书的序列号。

5、把签发的数字证书文件发送给客户端申请者,之后客户端就可以在支持https的网站上使用此证书进行安全加密连接了。

客户端申请吊销证书

1、客户端查看数字证书内的serial序列号和subject信息将其发送给CA服务器申请吊销此证书。由于是模拟环境我们可以直接在CA服务上查看客户要吊销的证书信息。

2、CA服务器收到客户提交的serial和subject信息后将此信息与证书信息数据库文件index.txt中的信息进行比较,确认一致无误后,就可以吊销之前颁发给web客户的证书了 。

3、吊销证书

-revole     吊销证书

4、查看被吊销的证书

5、在生成证书吊销列表crl.pem(在windows中格式为*.crl)文件之前,如果是首次吊销证书,需创建/etc/pki/CA/crlnumber的文件,用于指定接下来要吊销的证书序列号。

6、生成并更新证书吊销列表文件

-gencrl    生成证书吊销列表文件

5、通过查看证书吊销列表文件内容判断CA是否已经吊销了web客户的证书。

在window上查看CA颁发给web客户端的证书(*.crt)和证书吊销列表文件(*.crl)。

 

@声明:“山月润无声”博主知识水平有限,以上文章如有不妥之处,欢迎广大IT爱好者指正,小弟定当虚心受教!

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

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

相关文章

关于CICD流水线的前端项目运行错误,npm项目环境配置时出现报错:Not Found - GET https://registry.npm...

关于CICD流水线的前端项目运行错误,npm项目环境配置时出现报错:Not Found - GET https://registry.npm… 原因应该是某些jar包缓存中没有需要改变镜像将包拉下来 npm config set registry http://registry.npm.taobao.org npm install npm run build

Android 下第一个fragment app 先Java 后Kotlin

看着视频学习的,Fragment:3.Fragment使用方法_哔哩哔哩_bilibili 在android studio 下新建一个工程,类型是 Empty View Activity,本身就有一个Activity。就有文件MainActivity.java 或者kt,还有一个layout 文件&#…

$attrs,$listeners

vue实现组件通信的方式有: 父子通信 父组件向子组件传递通过props定义各个属性来传递,子组件向父组件传递通过$emit触发事件 ref也可以访问组件实例跨级通信 vuex bus provide / inject $attrs / $listeners解释 $attrs / $listeners $attrs 将父组件中…

linux免密登录报错 Bad owner or permissions on /etc/ssh/ssh_config.d/05-redhat.conf

问题:权限不对的 解决: 1.检查文件的所有者和权限。 确保文件的所有者是正确的。 运行以下命令来确定文件的所有者和权限: ls -l /etc/ssh/ssh_config.d/05-redhat.conf 通常情况下,SSH配置文件应该属于root用户。如果所有者不是…

前端list列表自定义图标并设置大小

前端list列表自定义图标并设置大小 一、前端list列表基础知识回顾 前端公有两种列表,一种是有序列表(ol),一种是无序列表(ul),它们的子元素都是(li)。 1.1 有序列表&a…

模拟电子技术基础学习笔记三 PN结

采用不周的掺杂工艺,将P型半导体与N型半导体制作在同一块硅片上,在它们的交界面就形成PN结。 扩散运动 物质总是从浓度高的地方向浓度低的地方运动,这种由于浓度差而产生的运动称为扩散运动。 空间电荷区 - 耗尽层 漂移运动 在电场力的作…

(数学) 剑指 Offer 39. 数组中出现次数超过一半的数字 ——【Leetcode每日一题】

❓ 剑指 Offer 39. 数组中出现次数超过一半的数字 难度:简单 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入: [1, 2, 3, 2, 2, 2, 5, 4, 2] 输…

语音专线如何接入呼叫中心系统

想要了解语音专线是否可以接入呼叫中心系统,首先要分别了解什么是语音专线和什么是呼叫中心系统。语音专线接入呼叫中心系统想要实现什么功能,下面小易就来科普一下。 什么是语音专线?语音专线可以理解为联通、电信、移动运营商提供的一种语音…

并发编程的故事——Java线程

Java线程 文章目录 Java线程一、线程创建二、线程运行三、线程运行四、主线程和守护线程五、线程的五种状态六、线程的六种状态七、烧水泡茶案例 一、线程创建 创建线程方法一: Thread重写run方法 Slf4j(topic "c.MyTest1") public class MyTest1 {publ…

HTML 播放器效果

效果图 实现代码 <!DOCTYPE HTML> <html><head><title>爱看动漫社区 | 首页 </title><link href"css/bootstrap.css" relstylesheet typetext/css /><!-- jQuery --><script src"js/jquery-1.11.0.min.js"…

Mysql表关联简单介绍(inner join、left join、right join、full join不支持、笛卡尔积)

文章目录 0. 交集、并集、差集含义说明1. 简单演示上图七种情况0. A、B表数据准备1. left outer join 简称 left join 左表所有数据&#xff0c;右表关联数据&#xff0c;没有的以null填充2. right outer join 简称 right join&#xff0c;右表所有数据&#xff0c;左表关联数据…

【java中的Set集合】HashSet、LinkedHashSet、TreeSet(最通俗易懂版!!)

目录 一、HashSet集合 1.HashSet集合的特点 2.HashSet常用方法 二、LinkedHashSet集合 LinkedHashSet集合的特点 三、TreeSet集合 1.TreeSet集合的特点 2.TreeSet的基本使用 四、HashSet、LinkedHashSet、TreeSet的使用场景 五、list和set集合的区别 一、HashSet集合 …

【Apollo学习笔记】——规划模块TASK之SPEED_BOUNDS_PRIORI_DECIDER

文章目录 前言SPEED_BOUNDS_PRIORI_DECIDER功能简介SPEED_BOUNDS_PRIORI_DECIDER相关配置SPEED_BOUNDS_PRIORI_DECIDER流程将障碍物映射到ST图中ComputeSTBoundary(PathDecision* path_decision)ComputeSTBoundary(Obstacle* obstacle)GetOverlapBoundaryPointsComputeSTBounda…

Apache SeaTunnel 2.3.3 版本发布,CDC 支持 Schema Evolution!

时隔两个月&#xff0c; Apache SeaTunnel 终于迎来大版本更新。此次发布的 2.3.3 版本在功能和性能上均有较大优化改进&#xff0c;其中大家期待已久的 CDC Schema evolution&#xff08;DDL 变更同步&#xff09;、主键 Split 拆分、JDBC Sink 自动建表功能、SeaTunnel Zeta …

4.6 TCP面向字节流

TCP 是面向字节流的协议&#xff0c;UDP 是面向报文的协议 操作系统对 TCP 和 UDP 协议的发送方的机制不同&#xff0c;也就是问题原因在发送方。 UDP面向报文协议&#xff1a; 操作系统不会对UDP协议传输的消息进行拆分&#xff0c;在组装好UDP头部后就交给网络层处理&…

C++之访问vector<vector<char>>中的vector<char>元素(一百八十七)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

大模型综述论文笔记6-15

这里写自定义目录标题 KeywordsBackgroud for LLMsTechnical Evolution of GPT-series ModelsResearch of OpenAI on LLMs can be roughly divided into the following stagesEarly ExplorationsCapacity LeapCapacity EnhancementThe Milestones of Language Models Resources…

【爬虫】实验项目一:文本反爬网站的分析和爬取

目录 一、实验目的 二、实验预习提示 ​编辑 三、实验内容 四、实验要求 五、实验过程 1. 基本要求&#xff1a; 2. 改进要求A 3. 改进要求B: 六、资料 1.实验框架代码&#xff1a; 2.OpenSSL&#xff1a;Win32/Win64 OpenSSL Installer for Windows - Shining Light…

家政保洁行业小程序如何快速搭建

随着互联网的快速发展&#xff0c;家政保洁行业也逐渐向数字化转型。小程序作为一种轻量级应用&#xff0c;越来越成为各行各业进行线上推广的重要工具。那么&#xff0c;如何快速搭建家政保洁行业的小程序呢&#xff1f;本文将为你提供详细的步骤和指导。 一、准备开发环境 在…

CTFhub-文件上传-MIME绕过

Content-Type类型有&#xff1a;HTTP content-type | 菜鸟教程 用哥斯拉生成 php 木马文件 1.php 抓包---> 修改 conten-type 类型 为 imge/jpeg 用蚁剑连接 ctfhub{8e6af8109ca15932bad4747a}