Openssl應用實例:創建私有CA並申請證書
一:實驗環境
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值
②
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並申請證書