一:实验环境

CA:centos6   172.17.252.226

客户端:centos7 172.17.252.188

二:阅读CA相关配置文件

CA配置文件路径:/etc/pki/tls/openssl.cnf

wKioL1nHK-TwE1IeAAH6fKTFFgQ047.png

图一


wKioL1nHLfrBbVrnAACvd2-vPB0165.png

图二


wKiom1nHL0ixhL1_AAC_VfWkjvg909.png

图三


三:证书申请及签署步骤

1、生成申请请求

2、RA核验

3、CA签署

4、获取证书

具体实验步骤

一:创建私有CA(certificate autrority  签证机构)    ##操作环境:centos6

1.创建所需要的文件  (如图一所示)

①生成证书索引数据库文件

[root@centos6 ~]# touch /etc/pki/CA/index.txt

②指定第一个颁发证书的序列号

[root@centos6 ~]# echo 01 > serial


二:CA自签证书 

1.生成2048位的私钥文件  (/etc/pki/CA/private/cakey.pem)

[root@centos6 ~]#cd /etc/pki/CA
[root@centos6 CA]# (umask 066; openssl genrsa -out private/cakey.pem -des3 2048)       ##使用des3算法生成2048为的秘钥

注意:

()的使用为了使umask值只在当前代码行有效,而不改变系统umask值

CA私钥名必须为cakey.pem

2.通过私钥生成自签名证书

[root@centos6 private]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem 
-days 7300 -out /etc/pki/CA/cacert.perm
 -new : 生成新证书签署请求
 -509 :专用CA生成自签证书
 -key :生成请求时用到的私钥文件
 -days n : 证书有效期限
 -out  /PATH/TO/SOMECERTFILE: 证书的保存路径

三:颁发证书

步骤一:在客户端生成证书请求     ##操作环境: centos 7

1、给客户端生成私钥   

[root@centos7 ~]# (umask 066;openssl genrsa -out /etc/pki/tls/private/test.key 2048)

2、生成证书申请文件

[root@centos7 ~]# openssl req -new -key /etc/pki/tls/private/test.key -days 365 -out /etc
/pki/tls/test.csr

注意:图一配置文件中规定,默认国家,省,公司名称三项必须和CA一致

步骤二:将证书请求文件传输给CA,并放在/app/下

[root@centos7 private]# scp test.csr 172.17.252.226:/app/test.csr

步骤三:CA签署证书,并将证书颁发给客户端

[root@centos6 ~]# openssl ca -in /app/test.csr -out /etc/pki/CA/certs/test.crt
[root@centos6 ~]# scp /etc/pki/CA/certs/test.crt  172.17.252.188:   ##发送签署过的证书给
客户端

步骤四:查看证书中信息

途径一:查看CA索引数据库文件

[root@centos6 ~]# cat /etc/pki/CA/index.txt
V       180904150811Z           01      unknown /C=CN/ST=henan/O=magedu.com/OU=dev/CN=zhao
# V  表示已签署的证书
# 01 表示证书序列
# /C...zhao  表示证书的详细信息

途径二:openssl命令查看

[root@centos6 ~]# openssl x509 -in /etc/pki/CA/cacert.pem -noout -text|issuer|subject
|serial|dates

3.删除CA与客户端上的*.csr证书申请文件,以确保安全

[root@centos6 ~]# rm -rf test.csr
[root@centos7 ~]# rm -rf /etc/pki/tls/test.csr


四:吊销证书(/etc/pki/CA/crl/crl.pem)

1.在客户端获取要吊销证书的serial

[root@centos7 ~]# openssl x509 -in test.crt -noout -serial -subject
serial=01
subject= /C=CN/ST=henan/O=magedu.com/OU=dev/CN=zhao

2.在CA上,根据客户提交的serial和subject信息,对比检验是否与index.txt一致,并吊销证书

 
  

①检验
[root@centos6 ~]# cat /etc/pki/CA/index.txt

V       180904150811Z            01  unknown /C=CN/ST=henan/O=magedu.com/OU=dev/CN=zhao
##经检验,信息正确

②吊销证书
[root@centos6 ~]# openssl ca -revoke /etc/pki/CA/newcerts/01.pem 
Using configuration from /etc/pki/tls/openssl.cnf
Revoking Certificate 01.
Data Base Updated
③查看数据库信息
[root@centos6 ~]# cat /etc/pki/CA/index.txt
R       180904150811Z   170905012945Z   01      unknown /C=CN/ST=henan/O=magedu.com/
OU=dev/CN=zhao
## R 表示此证书已移除

3.指定第一个吊销证书编号

注意:第一次更新证书吊销列表前,才需要执行

[root@centos6 ~]# echo 01 > /etc/pki/CA/crlnumber

4.更新证书吊销列表

[root@centos6 ~]# openssl ca -gencrl -out /etc/pki/CA/crl/crl.pem

5.查看crl文件

[root@centos6 ~]# openssl crl -in /etc/pki/CA/crl/crl.pem -noout -text

wKioL1nHquqCcmFyAAEbOR6WbHE903.png