Linux創建CA和申請認證
背景:
在學習Linux運維中,學習到了CA的創建和申請認證,為了加深對CA的理解,這里做一個創建CA和申請認證的實驗并記錄下來供以后回顧。
介紹:
什么是CA認證?
- 電子商務認證授權機構(CA, Certificate Authority),也稱為電子商務認證中心,是負責發放和管理數字證書的權威機構,并作為電子商務交易中受信任的第三方,承擔公鑰體系中公鑰的合法性檢驗的責任。
- CA中心為每個使用公開密鑰的用戶發放一個數字證書,數字證書的作用是證明證書中列出的用戶合法擁有證書中列出的公開密鑰。CA機構的數字簽名使得攻擊者不能偽造和篡改證書。在SET交易中,CA不僅對持卡人、商戶發放證書,還要對獲款的銀行、網關發放證書。
實驗介紹:
- 在VMware一臺虛擬機上創建CA,然后用另一臺虛擬機做客戶端來申請證書,并在電腦上安裝證書
實驗:
1、編輯openssl配置文件(可以不用修改,使用默認選項)
命令 vim? /etc/pki/tls/openssl.cnf
在默認配置文件里定義了CA相關目錄位置和相關文件位置,還定義了我們使用的策略
2、創建需要的文件
在創建CA之前我需要先根據配置文件來創建幾個文件(實驗使用的是默認的配置,沒改動)
(1)創建第一個文件命令:touch /etc/pki/CA/index.txt?? ;這個文件是用來存放認證的認證數據庫,如果不創建會在認證的時候報錯,這里可以先創建也可以看到報錯信息后在創建
(2)創建第二個文件命令:echo 01 > /etc/pki/CA/serial? ;這里存放認證起始編號;用來表示下一個認證的編號是什么
3、CA自簽證書
(1)在生成CA自簽證書需要先生成私鑰
命令1:cd /etc/pki/CA/ 移動到CA目錄下
命令2:(umask 066; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)? 這個小括號是必須要有的
(2)生成自簽證書
命令:openssl req -new -x509 –key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem
req表示申請證書;
-new 表示生成新證書簽署請求;
-x509表示是自簽證書;
-key后面接的是申請證書用到的私鑰;
-days表示證書有效期;
-out 后面接的是證書保存位置 (ps:這里的cacert.pem文件名一定和配置文件一致,下圖的文件名就少寫了個c,在實驗時出錯了,不過改下文件名字就好了)
在做好自簽證書后就可以給其他人簽發證書了,先看看CA目錄的文件結構,等會兒在簽署證書時會發現變化
4、用另一臺虛擬機來模擬申請證書
步驟:
(1)在申請證書的虛擬機上生成自己的私鑰;命令:(umask 066; openssl genrsa -out /etc/pki/tls/private/test.key 2048)? 這個小括號是必須要有的
(2)在申請證書的虛擬機上生成證書請求文件;命令:openssl req -new -key /etc/pki/tls/private/test.key
-days 365 -out etc/pki/tls/test.csr? 這里寫時間是沒有用,有效期是簽署者給的
在生成了證書請求文件后要將這個文件傳給CA所在虛擬機
CA在收到證書請求文件后就可以審核和簽署證書;簽署證書命令:openssl ca -in /etc/pki/CA/certs/test.csr -out /etc/pki/CA/certs/test.crt -days 3650
5、安裝證書
在簽署了證書后就可以將證書發給申請者,申請者就可以使用該證書了。
我們將證書放在windows上來查看信息。
現在安裝根證書,讓這個證書被系統識別。
下面開始安裝根證書
到此說明我們CA成功創建和申請證書完成
看看/etc/pki/CA目錄結構變化:
6、吊銷證書
如果你要查看證書信息,命令:openssl ca -status SERIAL?? 查看指定編號的證書狀態
如果你要吊銷一個證書
在客戶端獲取要吊銷的證書的編號
openssl x509 -in /PATH/FROM/CERT_FILE -noout -serial -subject
在CA上,根據客戶提交的serial與subject信息,對比檢驗是否與index.txt文件中的信息一致
吊銷證書:openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem? (SERIAL是證書編號)
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/86750