您的位置:首页 > 运维架构

Openssl应用实例:创建私有CA并申请证书

2017-09-24 21:35 603 查看
一:实验环境
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.创建所需要的文件 (如图一所示)
①生成证书索引数据库文件
[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.txtV 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


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 运维