实现CA和证书申请

0..0.0CA说明.png

0.0过程解析.png

0.向CA申请证书流程---7当服务器,6当客户端.png

文字说明

1 在CA上执行,建立CA
cd /etc/pki/CA
touch index.txt
echo 0F > serial
(umask 077;openssl genrsa -out private/cakey.pem 2048)
openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
填写多项内容:国家,省,城市,公司等
2 客户端执行
(umask 077;openssl genrsa -out /data/app.key 2048)
openssl req -new -key /data/app.key -out /data/app.csr
填写多项内容:国家,省,城市,公司等
scp /data/app.csr 到CA服务器上
3 在CA上执行,颁发证书
cd /etc/pki/CA
openssl ca -in app.csr -out certs/app.crt -days 100
4 验证证书
openssl verify -CAfile cacert.pem certs/app.crt certs/app2.crt
OK
5 查看证书内容
openssl x509 -in certs/app.crt -noout -text


.CA重要配置文件

5.CA重要配置文件.png
***

1.服务器实操

1、创建所需要的文件

touch /etc/pki/CA/index.txt 生成证书索引数据库文件

echo 01 > /etc/pki/CA/serial 指定第一个颁发证书的序列号

1.png

2、(根) CA自签证书

2.1生成私钥.pem

cd /etc/pki/CA/
(umask 066; openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)

1.服务器生成私钥文件.png

2.2根据私钥(cakey.pem)生成自签名证书(cacert.pem)

2.自签名证书-说明.png

openssl req -new -x509 –key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem

2.自签名证书.png


2.客户端实操

1.生成私钥.key

(umask 077;openssl genrsa -out app.key 1024)

4.6-客户端生成私钥.png

2.证书申请文件-----根据私钥(app.key)生成证书申请文件(app.csr)

openssl req -new -key /data/app.key -out /data/app.csr

5.6生成证书申请文件.png

3.将生成的证书申请文件(app.csr)发送给CA服务器

scp /data/app.csr CA服务器IP:目录路径

6.6将生成的申请文件发送给CA服务器.png


回到CA服务器

1.确认是否已经收到客户端发来的证书申请文件(app.csr)

6.7CA服务器收到客户端发来的生成申请文件.png

2.颁发证书-----根据客户端发来的申请文件(app.csr)颁发证书(app.crt)

openssl ca -in app.csr -out certs/app.crt -days 100

7.7颁发证书.png
7.7CA生成的颁发证书.png

执行完上面的命令后,会在newcerts目录下生成以“echo 0F > /etc/pki/CA/serial 指定第一个颁发证书的序列号”的.pem文件,其实和生成的证书是同一个文件

7.7生成的颁发证书.png
1.png

3.将颁发的证书发送给客户端

scp certs/app.crt 客户端IP:存放的目录

8.7将生成的证书发送给客户端.png


说明:

服务器:
1:cakey.pem:私钥
2:cacert.pem:自签名证书------根据私钥(cakey.pem)生成自签名证书(cacert.pem)
客户端:
key:自己的私钥
csr:客户端根据自己私钥生成的申请证书文件
crt:服务器颁发给客户端的证书

转载于:https://www.cnblogs.com/lqynkdcwy/p/9660542.html

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

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

相关文章

Sx05RE-S905.arm-2.2.1

Sx05re-S905-2.2.1版本安装记录 1、系统Sx05re-2.21 2、盒子型号S905m 3、使用dtb为gxbb_p200_1G_100M.dtb,更名为dtb.img以后,替换到内存卡中 4、打上Sx05re Upgrade 2&3&5&6补丁转载于:https://www.cnblogs.com/Gantz/p/10354826.html

端口如何支持非localhost访问_新特性解读 | MySQL 8.0.19 支持 DNS SRV

转载自公众号:玩转MySQL作者:洪斌MySQL Router 是 InnoDB Cluster 架构的访问入口,在架构部署上,官方给出的建议是 router 与应用端绑定部署,避免 router 单点问题。之前还有客户咨询,能否 router 不与应用…

记录奥运-当今五大Java记录框架之间的竞赛

开发人员:Takipi会告诉您何时新代码在生产中中断– Log4J vs SLF4J简单vs Logback vs Java Util日志记录vs LOG4J2 日志记录实际上是每个服务器端应用程序中古老而固有的部分。 这是应用程序以持久且可读的方式输出实时状态的主要方法。 某些应用程序每天可能仅记录…

移动端实现元素拖拽效果插件_基于自然流布局的可视化拖拽搭建平台设计方案...

LowCode 是高效、高性能的拖拽式低代码开发平台. 也是笔者最近一直在研究的方向, 对于可视化搭建平台的实现方案笔者之前写过很多文章, 这里带大家探索一个新方向——基于自然流布局的可视化搭建平台.在我们之前实现的 h5-dooring 搭建平台中, 我们采用了网格布局的方式来实现拖…

Python数据分析前提-----pandas

pandas:知识脑图 https://bigquant.com/community/t/topic/129755 1、read_csv(url):读取数据 2、help(read_csv):打印函数相关用法 3、数据名.dtypes:读取数据的类型(int、float……) 4、type(数据名&…

07-数据类型

【转】07-数据类型 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的 详细参考链接:http://www.runoob.com/mysql/mysql-data-types.html mysql常用数据类型概括&#x…

小谈React、React Native、React Web

React有三个东西,React JS 前端Web框架,React Native 移动终端Hybrid框架,React Web是一个源码转换工具(React Native 转 Web,并之所以特别提出,是觉得还有些用处)。 React、React Native共同…

yii::$app-mongodb 查询纪录数_老詹总决赛有多强?12项数据领先乔丹科比,已握10项数据纪录...

勒布朗詹姆贡献了38分16个篮板和10个助攻的狂暴三双数据,并率领湖人淘汰了掘金,这使得他迈进了职业生涯第10次总决赛舞台。我们都知道,詹姆斯几乎统治着NBA季后赛大部分数据纪录,事实上,他在总决赛同样如此。根据《sta…

摆脱困境:从计划作业中调用安全方法

假设我们已经实现了一个Spring支持的应用程序,并使用Spring Security的方法安全性表达式对其进行了保护 。 我们的下一个任务是使用安全方法实施计划作业。 更具体地说,我们必须实现一个计划的作业,该作业从我们的服务类中获取一条消息&…

前端共享桌面_2020 前端学习路线总结,哎呦,不错哦!

2020 前端学习路线总结在 GitHub 看到一个很不错的前端学习路线图(roadmap),从前端基础到前端工程化,再到跨端,都有知识点的覆盖,非常推荐阅读。图下面是我翻译的一个文字版,可以先看图再看文字…

每日一题题目16:简单的python练习题(1-10)

#1.python程序中__name__的作用是什么?__name__这个系统变量用来表示程序的运行方式. 如果程序在当前膜快运行,__name__的名称就是__main__, 如果不在(被调用),则显示为导入模块的名称.扩展:常常这样写if __name__ "__main__":来表名这是整个工程开始运行的入口.效…

Confluence 6 高级性能诊断

请在你的系统服务请求中包括下面所有的信息,如果可能的话,你也可以在请求中包括你认为最有可能出现的问题。这样的话,可以避免我们进一步对你系统的问题进行询问。 系统信息 Confluence 服务器 你系统信息的屏幕截图 Confluences Administrat…

RequireJS使用注意地方

使用RequireJS做异步模块加载,有几点值得注意的地方: 1.模块定义两种写法 1. 存在依赖的函数式定义 如果模块存在依赖:则第一个参数是依赖的名称数组;第二个参数是函数,在模块的所有依赖加载完毕后,该函…

WildFly上具有AngularJS的Java EE 7和Java WebSocket API(JSR 356)

这篇博客文章描述了用于WebSocket协议的Java API(JSR 356) (这是Java EE 7平台的四个最新JSR之一),并提供了部署在WildFly 8上并可以在OpenShift上在线获得的具体应用程序。 [FR]版本的法语( HTML或PDF &a…

用python做自我介绍_python入门教程NO.2 用python做个自我介绍

本文涉及的python基础语法为:数据类型等数据类型1. 字符串的拼接我们在上一章中已经简单介绍了一下字符串的创建方式,这里我们简单学习一下字符串的运算和拼接。字符串的运算字符串的加法#把字符串:hello赋值给变量aa hello#把字符串&#x…

想清楚映射规则,栈、队列、双端队列的实现都差不多

今天开始,啃读算法导论第10章。既然是啃就要有啃的样子,我决定将例题和习题全部用C实现一遍,总结同一类问题的共性。 10.1节介绍了栈,队列,双端队列及一些组合形式,为了突出体现思路,让代码更加…

日期加减加1天_2小时整理了13个时间日期函数,动图演示简单易学,收藏备用吧...

Hello,大家好,今天跟大家整理汇总了13个工作中经常用到的日期与时间函数的使用方法,学会它们几乎可以解决所有工作中遇到的,关于日期与时间提取与转换的问题。话不多说,让我们直接开始吧一、了解时间与日期的本质工作中…

T-1-java语言基础

一、Linux的由来和发展Linux是开源的操作系统Linux是服务器端的操作系统java主要用于服务器端二、Linux目录结构(与Windows不同)文件系统不同:Windows是盘符,Linux是目录。外部设备映射不同:Windows是盘符,…

点云数据显示_vispy 显示 kitti 点云数据

国内博客找了一圈,居然没有发现有用 vispy 做可视化的代码,这里做一个简单的示例,代码大部分来自官方。import numpy as np import vispy.scene from vispy.scene import visuals import sys# Make a canvas and add simple view canvas vis…

python函数定义关键字_Python(2)深入Python函数定义

在Python中,可以定义包含若干参数的函数,这里有几种可用的形式,也可以混合使用:1. 默认参数最常用的一种形式是为一个或多个参数指定默认值。>>> def ask_ok(prompt,retries4,complaintYes or no Please!):while True:ok…