參考文檔:
https://www.cnblogs.com/yanshicheng/p/13424198.html
http://www.yunweipai.com/4513.html
https://www.linuxidc.com/Linux/2017-10/147349.htm
推薦文檔:https://www.jianshu.com/p/9142d9d186e2
思路
搭建CA服務分為2個階段。
1,准備CA證書,包括CA根證書(信任證書),CA的私鑰
2,使用CA證書頒發證書
基本作用理解
步驟
1,生成私鑰,並且生成自簽名證書
#三條命令都是生成私鑰的,可對比查看
genrsa -aes128 -passout pass:Yunweipai@123 -out web_key.pem
root@localhost ~]#(umask 066;openssl genrsa -out /etc/pki/CA/private/cakey.pem -des3 2048 )
[root@djcy-200 CA]# (umask 066; openssl genrsa -out private/cakey.pem -des3 2048)
#生成自簽名證書,也是一種證書請求文件,因為都是req 命令,但是這個是可以放到瀏覽器里的root證書。
openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem
# -new: 生成新證書簽署請求
# -x509: 專用於CA生成自簽證書
# -key: 生成請求時用到的私鑰文件
# -days n:證書的有效期限
# -out /PATH/TO/SOMECERTFILE: 證書的保存路徑
2.創建申請者(子ca服務器或者用戶)的證書頒發請求
如果是子ca服務器,需要創建自己的私鑰,再用這個私鑰來創建請求文件。
#創建自己的私鑰文件
(umask 066; openssl genrsa -out /etc/pki/tls/private/subca.top.key)
#根據私鑰文件創建證書請求文件
openssl req -new -key /etc/pki/tls/private/subca.top.key -out /etc/pki/tls/subca.top.csr
#將請求文件傳輸到ca根服務器上,准備生成自己的證書了
scp /etc/pki/tls/subca.top.csr root@xxx.xxx.xxx.xxx:/etc/pki/CA
3.申請頒發證書
在實際生產環境中,一般 CA 服務器都獨立部署,因為申請頒發證書的過程是申請者將證書請求(CSR)發送給CA服務器,CA服務器接收到了之后,通過下面命令頒發證書,然后將證書返回給申請者。
所以,這一步是在ca根證書服務器上操作
openssl ca -in /etc/pki/CA/subca.top.csr -out /etc/pki/CA/subca.top.crt -days 3650
將簽署好的證書發回給子CA服務器,並改名為cacert.pem;
/etc/pki/CA/cacert.pem 為子CA服務器中openssl.cnf配置文件中的certificate指定的路徑
scp subca.top.crt subca_IP:/etc/pki/CA/cacert.pem
4.證書終於頒發完了,通過這個命令,可以驗證web.cer是由ca_cert.cer頒發的:
如果使用的是運維派創建的證書類型,這個命令可用,前面是根ca證書,后面是子ca的證書
openssl verify -CAfile ca_cert.cer web.cer
web.cer: OK
擴展:
ssh 密鑰的的幾種形式
目前有兩個主流的密鑰格式:OpenSSH格式的密鑰 和 PuTTY格式的密鑰。
- id_rsa和id_rsa.pub
都是OpenSSH格式的密鑰。
id_rsa是OpenSSH格式的SSH私鑰。
id_rsa.pub是OpenSSH格式的SSH公鑰。 - ppk文件
ppk文件是Putty的私鑰。PuTTY Private Key 的縮寫。
但是ppk文件中同時包含了公鑰和私鑰,可用記事本打開查看。 - pem文件
pem文件可以包含任何東西: 具有公共密鑰的證書,SSH公鑰,公鑰私鑰,具有公鑰私鑰的證書。 PEM是一個文本文件,可以用記事本打開。