创建CA和申请证书、吊销证书
搭建工具:openssl
服务端:centos7
客户端:centos6
配置实验环境:
需要两台虚拟机为服务端、客户端提供运行环境,装载openssl工具,添加必要文件;通过查看openssl的配置文件/etc/pki/tls/openssl.cnf(图一),对比服务端的/etc/pki/CA文件内容(图二),如果第一次搭建服务的话会缺少部分文件,这样需要我们手工添加,其中文件index.txt、serial是用于搭建CA,文件crlnumber则是用于吊销证书用的。
(图一)
(图二)
实验一,搭建CA服务端(在centos7上):
第一步;创建必要文件,如图三
touch /etc/pki/CA/index.txt #创建index.txt
echo 01> /etc/pki/CA/serial #创建新证书编号为01,往下依次类推,为十六进制
(图三)
第二步;生成私钥文件,如图四
cd /etc/pki/CA #切换目录
(umask 066;openssl genrsa –out /etc/pki/CA/private/cakey.pem
1024) #生成1024位的私钥
(图四)
也可以通过命令cat / etc/pki/CA/private/cakey.pem来查看是否生成了私钥。
第三步;生成自签文件,也就是让CA给自己颁发证书,注意都是在/etc/pki/CA目录下的工作,如图五
openssl req -new -x509 -key
/etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3650
(图五)
以文本形式查看自签证书进行校验:
openssl x509 -in cacert.pem -noout -text
(图六)
把cacert.pem文件导出放置到Windows界面中查看,注意要更改为.crt的后缀才能查看,受信任前后效果对比为图七,到此CA服务端搭建完毕。
(图七)
实验二,搭建CA客户端,申请证书(在centios6上):
第一步;创建私钥文件,如图八
cd /etc/pki/tls/private/
(umask 066;openssl genrsa -out
/etc/pki/tls/private/test.key)
(图八)
第二步;生成申请文件(注意:默认国家、省、公司三项必须跟CA一致),如图九
openssl req -new -key
/etc/pki/tls/private//test.key -out /etc/pki/tls/private/test.csr -days 365
(图九)
把生成好的申请文件传至服务端CA,如图十
(图十)
第三步;回到服务端(centos7上),颁发证书,如图十一
openssl ca -in
/etc/pki/CA/test.csr -out /etc/pki/CA/certs/test.crt -days 365
(图十一)
把证书传回至客户端(centos6),如图十二
scp /etc/pki/CA/certs/test.crt
172.18.24.2:/etc/pki/CA/
(图十二)
可以把test.crt导出,查看证书效果如图十三,到此实验二结束。
(图十三)
实验三:吊销证书,在服务端进行(centos7)
第一步;创建必要文件,生成吊销证书的编号,如图十四
echo 01
>/etc/pki/CA/crlnumber
(图十四)
第二步,在客户端(centos6上)查找要吊销的证书以确保吊销正确,如图十五
openssl x509 -in /etc/pki/CA/test.crt
-noout -serial -subject
(图十五)
第三步;在服务端(centos7上)吊销证书,如图十六
(图十六)
第四步;更新证书吊销列表,如图十七
openssl
ca -gencrl -out
/etc/pki/CA/crl/crl.pem #注意crl.pem在Windows里面需要更改为crl的后缀才能查看
(图十七)
查看crl文件,如图十八:
openssl crl -in /etc/pki/CA/crl/crl.pem -noout
-text #以文本形式查看吊销证书文件
(图十八)
原创文章,作者:chenxu@magedu.com,如若转载,请注明出处:http://www.178linux.com/73187