1. 程式人生 > >Openssl應用實例:創建私有CA並申請證書

Openssl應用實例:創建私有CA並申請證書

linux運維

一:實驗環境

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

技術分享

本文出自 “13162823” 博客,請務必保留此出處http://13172823.blog.51cto.com/13162823/1968254

Openssl應用實例:創建私有CA並申請證書