Linux创建CA和申请认证

Linux创建CA和申请认证

背景:

在学习Linux运维中,学习到了CA的创建和申请认证,为了加深对CA的理解,这里做一个创建CA和申请认证的实验并记录下来供以后回顾。

介绍:

什么是CA认证?

  • 电子商务认证授权机构(CA, Certificate Authority),也称为电子商务认证中心,是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。
  • CA中心为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户合法拥有证书中列出的公开密钥。CA机构的数字签名使得攻击者不能伪造和篡改证书。在SET交易中,CA不仅对持卡人、商户发放证书,还要对获款的银行、网关发放证书。

实验介绍:

  • 在VMware一台虚拟机上创建CA,然后用另一台虚拟机做客户端来申请证书,并在电脑上安装证书

实验:

1、编辑openssl配置文件(可以不用修改,使用默认选项)

命令 vim  /etc/pki/tls/openssl.cnf

在默认配置文件里定义了CA相关目录位置和相关文件位置,还定义了我们使用的策略

1

2

 

 

2、创建需要的文件

 

在创建CA之前我需要先根据配置文件来创建几个文件(实验使用的是默认的配置,没改动)

(1)创建第一个文件命令:touch /etc/pki/CA/index.txt   ;这个文件是用来存放认证的认证数据库,如果不创建会在认证的时候报错,这里可以先创建也可以看到报错信息后在创建

(2)创建第二个文件命令:echo 01 > /etc/pki/CA/serial  ;这里存放认证起始编号;用来表示下一个认证的编号是什么

3、CA自签证书

(1)在生成CA自签证书需要先生成私钥

命令1:cd /etc/pki/CA/ 移动到CA目录下

命令2:(umask 066; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)  这个小括号是必须要有的

3

(2)生成自签证书

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

req表示申请证书;

-new 表示生成新证书签署请求;

-x509表示是自签证书;

-key后面接的是申请证书用到的私钥;

-days表示证书有效期;

-out 后面接的是证书保存位置 (ps:这里的cacert.pem文件名一定和配置文件一致,下图的文件名就少写了个c,在实验时出错了,不过改下文件名字就好了)

4

在做好自签证书后就可以给其他人签发证书了,先看看CA目录的文件结构,等会儿在签署证书时会发现变化

5

4、用另一台虚拟机来模拟申请证书

步骤:

(1)在申请证书的虚拟机上生成自己的私钥;命令:(umask 066; openssl genrsa -out /etc/pki/tls/private/test.key 2048)  这个小括号是必须要有的

(2)在申请证书的虚拟机上生成证书请求文件;命令:openssl req -new -key /etc/pki/tls/private/test.key
-days 365 -out etc/pki/tls/test.csr  这里写时间是没有用,有效期是签署者给的

6

7

在生成了证书请求文件后要将这个文件传给CA所在虚拟机

8

CA在收到证书请求文件后就可以审核和签署证书;签署证书命令:openssl ca -in /etc/pki/CA/certs/test.csr -out /etc/pki/CA/certs/test.crt -days 3650

9

10

5、安装证书

在签署了证书后就可以将证书发给申请者,申请者就可以使用该证书了。

我们将证书放在windows上来查看信息。

11

12

现在安装根证书,让这个证书被系统识别。

1314

12

下面开始安装根证书

151718192021

到此说明我们CA成功创建和申请证书完成

看看/etc/pki/CA目录结构变化:

22

6、吊销证书

如果你要查看证书信息,命令:openssl ca -status SERIAL   查看指定编号的证书状态

如果你要吊销一个证书

在客户端获取要吊销的证书的编号
openssl x509 -in /PATH/FROM/CERT_FILE -noout -serial -subject
在CA上,根据客户提交的serial与subject信息,对比检验是否与index.txt文件中的信息一致

吊销证书:openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem  (SERIAL是证书编号)

23

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/86750

(3)
657188918657188918
上一篇 2017-09-09
下一篇 2017-09-09

相关推荐

  • 多实例

    多实例

    Linux干货 2018-01-29
  • SHELL中的变量

    SHELL中的变量            运行SHELL脚本中的单个命令自然有用,但这有其自身的限制。通常你会需要在SHELL命令使用其他数据来处理信息。这可以通过变量来实现。变量允许你临时性地将信息存储在SHELL脚本中,以便和脚本中的其他命令一起使用。 1 环境变量…

    Linux干货 2017-04-16
  • 第10周作业(上)

    第10周作业 1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情)。CentOS系统启动详细的过程如下(以CentOS7为例): 加电自检(POST)按下电源开关,BIOS系统随即开始加电自检,检查CPU、内存、主板及各接口、硬盘、键盘、光驱等,检测它们的好坏。 读取启动顺序检查完成后,BIOS会根据预先设定好的启动顺序去挨个寻找可引导…

    Linux干货 2017-01-03
  • GRUB启动故障排除和内核编译

    如何进入光盘应急系统(以下修复操作仅适用于GRUB legacy, 不适用于GRUB2): 步骤一:给主机挂上安装光盘, 或者有相应启动镜像的硬盘分区(可移动的分区) 步骤二:开机时选择CDROM先启动 步骤三:进入光盘启动界面选择应急救援模式 步骤四: 不选择设置网络接口, 直接读取磁盘分区并以读写方式挂载 步骤五: 选择shell进入bash中对磁盘进行…

    Linux干货 2016-09-12
  • CentOS程序包管理

    对于Linux系统而言,其能执行的程序为二进制格式,而对于程序开发者而言,直接利用二进制开发程序是不太现实的,所以一般都是利用高级语言来进行软件开发,其程序也即称为源代码;那么我们在对一个程序进行安装、升级、卸载、 查询、校验等操作时,需要对每个源代码进行编译成为二进制程序,那么显然是不太现实的。所以在各Linux发行版中一般都带有程序包管理器。 所谓程序包…

    Linux干货 2016-08-25
  • Linux中Vim编辑器的使用

    Linux中Vim编辑器的使用 Vim功能介绍 vim是一款功能丰富而强大的文本编辑器,支持语法高亮,支持多窗口编辑,是vi文本编辑器的增强版。如果在CentOS7.2中如果是选择最小化安装,其默认是没有安装vim rpm包的,需要自行安装,可以使用yum工具进行在线安装。  vim至今已经走过了25个春秋,现在8.0版的已经发布了。  …

    Linux干货 2016-12-02