一:實驗環境算法
CA:centos6 172.17.252.226數據庫
客戶端:centos7 172.17.252.188centos
二:閱讀CA相關配置文件安全
CA配置文件路徑:/etc/pki/tls/openssl.cnfapp
圖一ide
圖二centos7
圖三spa
三:證書申請及簽署步驟
orm
一、生成申請請求blog
二、RA覈驗
三、CA簽署
四、獲取證書
具體實驗步驟
一:建立私有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
一、給客戶端生成私鑰
[root@centos7 ~]# (umask 066;openssl genrsa -out /etc/pki/tls/private/test.key 2048)
二、生成證書申請文件
[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.txt
V 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