創建CA和申請證書
創建私有CA:
首先在CA服務器端創建CA。
先去看openssl的配置文件: /etc/pki/tls/openssl.cnf
一般我們不會去更改這個配置文件,但是要去看一下。我們是根據這個文件創建的CA.
這個文件里是openssl的配置文件,我們打開后只觀察與CA有關的文件。
在文本中可以看出一個主機中可以有多個CA,并且指定出默認CA為CA_default。
三種策略要求:
match匹配 supplied支持 optional可選
匹配指要求申請填寫的信息跟CA設置信息必須一致, 支持指必須填寫這項申請信息, 可選指可有可無。
要想改變策略可以直接更改該文件。
前面文檔了解之后我們就開始創建了。
首先我們先創建一個私鑰。
生成私鑰
(umask 066; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)
我們可以查看一下目錄結構看看是否生成秘鑰文件。
tree /etc/pki/CA/
創建好私鑰后我們要自簽名證書
CA自簽證書
創建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: 證書的保存路徑
我們可以查看一下生成的證書
openssl x509 -in /etc/pki/CA/cacert.pem -noout -text
文件里顯示的證書的詳盡信息,頒發者,有效時間什么的。
申請證書
CA自簽名做好之后要用客戶端去申請證書
申請證書前,客戶端也要先生成私鑰文件。
(umask 066;openssl genrsa -out /app/RA/service.key 4096)
然后生成證書申請文件
openssl req -new -key /app/RA/service.key -out /app/RA/service.csr
將證書請求文件傳輸給CA
scp /app/RA/service.csr 172.16.251.18:/etc/pki/CA/
為了方便管理,在CA端的/etc/pki/CA下創建msc文件并把文件請求放到文件夾里
CA簽署證書,并將證書頒發給請求者
openssl ca -in /etc/pki/CA/csr/service.csr -out /etc/pki/CA/certs/service.crt -days 365
這里報錯是因為服務器創建CA的時候沒有創建數據可文件。所以這一要創建一下這個文件。
touch /etc/pki/CA/index.txt
但是只有這個文件還是不行的,還序號文件沒有開始序號。所以這也要創建。
并且序號只能是兩位,如果不是就會報錯。
echo 01> /etc/pki/CA/serial
當然這兩步也在創建CA是就做是最好的。
然后重新頒發證書試試。
注意:默認國家,省,公司名稱三項必須和CA一致
同意之后我們可以查看一下我們剛創建的數據庫有變化沒。
這是就已經有新文件產生。數據庫發生變化。
到此申請證書結束。
我們可以查看證書的信息
openssl x509 -in certs/service.crt -noout -text
吊銷證書
在CA上,根據客戶提交的serial與subject信息,對比檢驗是否與index.txt文件中的信息一致,吊銷證書:
openssl ca -revoke newcerts/91.pem
然后擦汗一下數據庫
可以看見證書前面狀態是R ,代表已經吊銷。
然后指定第一個吊銷證書的編號
注意:第一次更新證書吊銷列表前,才需要執行
echo 01 > /etc/pki/CA/crlnumber
更新證書吊銷列表
openssl ca -gencrl -out /etc/pki/CA/crl/crl.pem
查看crl文件:
openssl crl -in /etc/pki/CA/crl/crl.pem -noout -text
原創文章,作者:phosphor,如若轉載,請注明出處:http://www.www58058.com/82318