CA自建和證書申請

CA簡介:CA是負責簽發證書、認證證書、管理已頒發證書的機關。它要制定政策和具體步驟來驗證、識別用戶身份,並對用戶證書進行簽名,以確保證書持有者的身份和公鑰的擁有權。網上的公衆用戶通過驗證 CA 的簽字從而信任 CA ,任何人都可以得到 CA 的證書(含公鑰),用以驗證它所簽發的證書。

證書簡介:現在我們通過瀏覽器訪問網站,一般都有證書的,這些證書就是有CA頒發的,證明你這個網站是可靠的,尤其是一些購物網站,如:淘寶,京東,我們可以查看網站的源碼來查看他的證書(F12)找到Security查看。

LINUX模擬CA的建立和證書的申請

如何實現:

我們模擬把主機A當做根CA自建一個,主機B通過Openssl命令來模擬申請證書。

openssl配置文件:

/etc/pki/tls/openssl.cnf 我們找到CA和policy_match部分了解CA相關文件的存放和證書存放的文件。


dir= /etc/pki/CA CA相關文件的主目錄

certs= $dir/certs 存放發佈證書的文件

crl_dir= $dir/crl     證書吊銷列表

database= $dir/index.txt 證書編號[默認不存在,要手動創建,不然會報錯]

new_certs_dir= $dir/newcerts 新頒發證書存放目錄

certificate= $dir/cacert.pem   CA服務端的自簽名證書

serial= $dir/serial  下一個將要頒發證書的序列號 [默認不存在,要手動創建,不然會報錯]

crlnumber= $dir/crlnumber 吊銷證書的編號

crl= $dir/crl.pem  吊銷證書存放的文件

private_key= $dir/private/cakey.pem證書的私鑰存放文件


policy= policy_match

# For the CA policy

[ policy_match ]

countryName= match       國家

stateOrProvinceName= match   省市

organizationName= match       公司名稱

organizationalUnitName= optional   公司單元名 可以不填 隨便怎麼翻譯吧= =

commonName= supplied   名字

emailAddress= optional    郵箱

其中match表示自建根CA和申請證書時所填信息必須一致,optional可寫可不寫,supplied要寫可以不一樣。


主機A的配置

建立文件:

touch /etc/pki/CA/index.txt

echo 01 > /etc/pki/CA/serial

wKioL1nGKb_xnf5UAAAUP6--jXU838.png

生成私鑰文件

命令:(umask 066; openssl genrsa -out /etc/pki/CA/private/cakey.pem -des3 2048) 

括號裏定義umask進入子進程,只修改私鑰文件的權限 -des3是對私鑰文件進行加密  [文件名是特定的,不能更改]


生成一個自簽名CA證書

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: 證書的保存

wKiom1nGLtDh2DmZAAA007PQpjM014.png自簽名CA填寫信息如上圖,根據policy可知其中前124選項爲match必須匹配,第5選項爲supplied,爲頒發者的名字,其他可以不填。


這樣我們的自簽名CA的相關文件就準備好了。

wKioL1nGL52R0UKBAAAigS88kxU919.png


主機B的配置:

生成自己的私鑰:還是一樣的命令

(umask 066;openssl genrsa -out /etc/pki/tls/private/wrz.key 2048)2048 指定位數

生成證書申請文件

openssl req -new -key /etc/pki/tls/private/wrz.key -days 365 -out /etc/pki/tls/wrz.csr 這是出現的界面和生成自籤CA一樣,需要填寫信息

wKioL1nGQ5agkGT_AAAzD3GT6vU137.png

其中124選項在policy中爲match,所以要和自籤CA時填寫的一致,第6項爲被頒發的名稱。其他可填可不填。

將證書申請文件發送到主機A上:scp /etc/pki/tls/wrz.csr 192.168.109.159:/etc/pki/CA/


主機A收到證書申請文件

CA簽署證書,給請求者頒發證書

命令:openssl ca -in /etc/pki/tls/wrz.csr -out /etc/pki/CA/certs/wrz.crt -days 365 然後出現wKiom1nGVpfSwOEEAACLEx3A6LE268.png確認信息無誤後就可以簽名頒發證書了。

用sz命令把linux上生成的證書發送到Windows上,修改下後綴爲.per 安裝證書,這樣就完成了自籤CA和證書頒發的過程。wKioL1nGV5jyBZpcAAGm_5-UfyM862.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章