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.mzph.cn/news/60853.shtml

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

相关文章

xml

1.xml 1.1概述【理解】 万维网联盟(W3C) 万维网联盟(W3C)创建于1994年,又称W3C理事会。1994年10月在麻省理工学院计算机科学实验室成立。 建立者: Tim Berners-Lee (蒂姆伯纳斯李)。 是Web技术领域最具权威和影响力的国际中立性技术标准机构。 到目前为…

哪里可以找到优质的文章?

我认为中外科技内容过去主要是“信息差”,即人们可以直接从国外文章中摄取信息并直接实践,谁快谁赢。 而现在主要是“观点差”,国内科技相关的理论和评论文章的数量和质量都还比较弱。 所以,优质文章建议多找外文。 参考风险投资人…

IBM Spectrum LSF Explorer 为要求苛刻的分布式和任务关键型高性能技术计算环境提供强大的工作负载管理

IBM Spectrum LSF Explorer 适用于 IBM Spectrum LSF 集群的强大、轻量级报告解决方案 亮点 ● 允许不同的业务和技术用户使用单一解决方案快速创建和查看报表和仪表板 ● 利用可扩展的库提供预构建的报告 ● 自定义并生成性能、工作负载和资源使用情况的报…

自动驾驶和辅助驾驶系统的概念性架构(一)

摘要: 本文主要介绍包括功能模块图,涵盖了底层计算单元、示例工作负载和行业标准。 前言 本文档参考自动驾驶计算联盟(Autonomous Vehicle Computing Consortium)关于自动驾驶和辅助驾驶计算系统的概念系统架构。 该架构旨在与SAE L1-L5级别的自动驾驶保…

MySQL之从单机到集群

写在前面 本文一起看下MySQL是单机存在的问题,以及为了解决这些问题所提出的各种解决方案。 1:从单机到集群 并非业务发展初期我们就直接使用集群来支撑业务,而是简单的使用单机版本,但是随着业务的发展,单机的各种…

docker打包部署

打包成容器命令 docker build -f ./Dockerfile-long -t 名称.打包镜像 tar docker save -o 名称.tar 名称:latest执行sudo -i,提示输入用户密码,输入密码后进入超级用户(root)模式 linux上传文件 rz -ytar恢复成镜像 sudo docker…

计算机网络(速率、宽带、吞吐量、时延、发送时延)

速率: 最重要的一个性能指标。 指的是数据的传送速率,也称为数据率 (data rate) 或比特率 (bit rate)。 单位:bit/s,或 kbit/s、Mbit/s、 Gbit/s 等。 例如 4 1010 bit/s 的数据率就记为 40 Gbit/s。 速率往往是指额定速率或…

https比http安全在哪

HTTPS(Hypertext Transfer Protocol Secure)是HTTP的安全版本,它在HTTP的基础上添加了安全性和加密机制。以下是HTTPS相对于HTTP的主要安全性优势: 数据加密:HTTPS使用TLS(Transport Layer Security&#x…

el-table中点击跳转到详情页的两种方法

跳转的两种写法: 1.使用keep-alive使组件缓存,防止刷新时参数丢失 keep-alive 组件用于缓存和保持组件的状态,而不是路由参数。它可以在组件切换时保留组件的状态,从而避免重新渲染和加载数据。 keep-alive 主要用于提高页面性能和用户体验,而…

vue2项目中el-input单独使用max和maxlength不生效问题

vue2项目中el-input单独使用max和maxlength不生效问题 今天在vue2的项目中使用element中的<el-input>组件&#xff0c;因为没有使用form所以max和maxlength属性没有生效&#xff0c;下面是解决办法 <el-input placeholder"请输入" v-model"holeDat…

django-发送邮件

一、业务场景 业务警告 邮箱验证 密码找回 二、邮件相关协议 1.SMYTP&#xff08;简答邮件传输协议 25端口&#xff09; 属于“推送”协议 负责发送 2.IMAP&#xff08;交互式邮件访问协议&#xff0c;应用层协议&#xff0c;143端口&#xff09; 用于从本地邮件客户端…

Redis知识点整理

第一部分&#xff1a;Redis基础知识点 1、数据类型 5种常用基础类型&#xff1a;string,hash,list,set,zset – 字符串&#xff0c;Hash表&#xff0c;List顺序集合&#xff0c;Set无序集合&#xff0c;ZSet有序集合3中特殊类型&#xff1a;bitmap-字节地图, hyperloglog-统计…

ITMS介绍

ITMS&#xff08;Integrated Terminal Management System&#xff09;&#xff0c;终端综合管理系统。 主要用于家庭网关的设备注册&#xff0c;初始化自动配置&#xff0c;软件版本升级&#xff0c;远程故障诊断修复和设备监控等。它通过北向连接服开系统用于接收业务工单&am…

Java----Sentinel持久化规则启动

java -jar -Dnacos.add8848 你的sentinel源码修改包.jar 前期准备&#xff1a; 1.引入依赖 在order-service中引入sentinel监听nacos的依赖&#xff1a; <dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-datasource-nacos</…

Mybatis中 list.size() = 1 但显示 All elements are null

一、Bug展示 二、原因分析 2.1.情形一&#xff1a;Mybatis的XML中返回类型映射错误 <select id"selectByDesc" parameterType"com.task.bean.OrderInfo"resultType"com.task.bean.OrderInfo">select MER_ID,SETTLE_DATE,ICE_NAME,ORDER_S…

element ui-Pagination

页面分为两个表格&#xff0c;当两边的表格数据量大时&#xff0c;分页样式就会受到影响&#xff0c;可以将跳转按钮的个数减少 页面分页代码如下 页面效果

使用ELK收集解析nginx日志和kibana可视化仪表盘

文章目录 ELK生产环境配置filebeat 配置logstash 配置 kibana仪表盘配置配置nginx转发ES和kibanaELK设置账号和密码 ELK生产环境配置 ELK收集nginx日志有多种方案&#xff0c;一般比较常见的做法是在生产环境服务器搭建filebeat 收集nginx的文件日志并写入到队列&#xff08;k…

掌握AI助手的魔法工具:解密Prompt(提示)在AIGC时代的应用「中篇」

文章目录 掌握AI助手的魔法工具&#xff1a;解密Prompt&#xff08;提示&#xff09;在AIGC时代的应用「中篇」一、指南原则1: 使用明确和具体的指令原则2: 给模型思考的时间 二、迭代三、总结与提取四、局限与改善五、总结 掌握AI助手的魔法工具&#xff1a;解密Prompt&#x…

Windows下将nginx等可执行文件添加为服务

Windows下将nginx等可执行文件添加为服务 为什么将可执行文件添加为服务&#xff1f;将可执行文件添加为服务的步骤步骤 1&#xff1a;下载和安装 Nginx步骤 2&#xff1a;添加为服务方法一&#xff1a;使用 Windows 自带的 sc 命令方法二&#xff1a;使用 NSSM&#xff08;Non…

uniapp中使用原生canvas标签绘制视频帧来模拟拍照,拍照后将图绘制在另外一个canvas上编辑画图,这样反复操作

uniapp中使用原生canvas标签绘制视频帧来模拟拍照&#xff0c;拍照后将图绘制在另外一个canvas上编辑画图&#xff0c;这样反复操作会导致ios系统上白屏&#xff0c;canvas2d上下文为null,经查阅找到相关资料 IOS 创建Canvas过多导致getContext(‘2d’) 返回null 总 Canvas 内存…