一:实验环境
CA:centos6 172.17.252.226
客户端:centos7 172.17.252.188
二:阅读CA相关配置文件
CA配置文件路径:/etc/pki/tls/openssl.cnf
图一
图二
图三
三:证书申请及签署步骤
1、生成申请请求
2、RA核验
3、CA签署
4、获取证书
具体实验步骤
一:创建私有CA(certificate autrority 签证机构) ##操作环境:centos6
1.创建所需要的文件 (如图一所示)
①生成证书索引数据库文件
[[email protected] ~]# touch /etc/pki/CA/index.txt
②指定第一个颁发证书的序列号
[[email protected] ~]# echo 01 > serial
二:CA自签证书
1.生成2048位的私钥文件 (/etc/pki/CA/private/cakey.pem)
[[email protected] ~]#cd /etc/pki/CA [[email protected] CA]# (umask 066; openssl genrsa -out private/cakey.pem -des3 2048) ##使用des3算法生成2048为的秘钥
注意:
①()的使用为了使umask值只在当前代码行有效,而不改变系统umask值
② CA私钥名必须为cakey.pem
2.通过私钥生成自签名证书
[[email protected] 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、给客户端生成私钥
[[email protected] ~]# (umask 066;openssl genrsa -out /etc/pki/tls/private/test.key 2048)
2、生成证书申请文件
[[email protected] ~]# openssl req -new -key /etc/pki/tls/private/test.key -days 365 -out /etc /pki/tls/test.csr
注意:图一配置文件中规定,默认国家,省,公司名称三项必须和CA一致
步骤二:将证书请求文件传输给CA,并放在/app/下
[[email protected] private]# scp test.csr 172.17.252.226:/app/test.csr
步骤三:CA签署证书,并将证书颁发给客户端
[[email protected] ~]# openssl ca -in /app/test.csr -out /etc/pki/CA/certs/test.crt [[email protected] ~]# scp /etc/pki/CA/certs/test.crt 172.17.252.188: ##发送签署过的证书给 客户端
步骤四:查看证书中信息
途径一:查看CA索引数据库文件
[[email protected] ~]# 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命令查看
[[email protected] ~]# openssl x509 -in /etc/pki/CA/cacert.pem -noout -text|issuer|subject |serial|dates
3.删除CA与客户端上的*.csr证书申请文件,以确保安全
[[email protected] ~]# rm -rf test.csr [[email protected] ~]# rm -rf /etc/pki/tls/test.csr
四:吊销证书(/etc/pki/CA/crl/crl.pem)
1.在客户端获取要吊销证书的serial
[[email protected] ~]# 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一致,并吊销证书
①检验
[[email protected] ~]# cat /etc/pki/CA/index.txt
V 180904150811Z 01 unknown /C=CN/ST=henan/O=magedu.com/OU=dev/CN=zhao
##经检验,信息正确
②吊销证书 [[email protected] ~]# openssl ca -revoke /etc/pki/CA/newcerts/01.pem Using configuration from /etc/pki/tls/openssl.cnf Revoking Certificate 01. Data Base Updated ③查看数据库信息 [[email protected] ~]# cat /etc/pki/CA/index.txt R 180904150811Z 170905012945Z 01 unknown /C=CN/ST=henan/O=magedu.com/ OU=dev/CN=zhao ## R 表示此证书已移除
3.指定第一个吊销证书编号
注意:第一次更新证书吊销列表前,才需要执行
[[email protected] ~]# echo 01 > /etc/pki/CA/crlnumber
4.更新证书吊销列表
[[email protected] ~]# openssl ca -gencrl -out /etc/pki/CA/crl/crl.pem
5.查看crl文件
[[email protected] ~]# openssl crl -in /etc/pki/CA/crl/crl.pem -noout -text