構建CA服務器
CA配置文件位置:
/etc/pki/tls/openssl.cfg
dir = /etc/pki/CA //CA文件的根目錄
certs = $dir/certs //CA存放證書的目錄,這里的證書是客戶的授權證書
crl_dir = $dir/crl //存放吊銷列表文件
database = $dir/index.txt //存放證書條目的文件(證書屬性)
new_certs_dir = $dir/newcerts //系統生成的證書條目的編號
certificate = $dir/cacert.pem //默認自簽證書的存放路徑與名字
serial = $dir/serial //定義初始條目數,需要自已填加兩位數字初始值到文件
crlnumber = $dir/crlnumber //吊銷列表的條目,需要自己填加初始值,為兩位數值
crl = $dir/crl.pem //吊銷列表的文件
private_key = $dir/private/cakey.pem //存放私鑰位置
RANDFILE = $dir/private/.rand //私鑰的隨機數字文件
policy = policy_match //說明生成簽證的時候策略的級別{match|anything}
match //表示必須匹配的字符,它申請證書文件與CA服務器的自簽證書必須相同,如果不同會失敗
optional //表示此項可以不相同
supplied //表示此CA證書所用的地方
架構圖:
A:172.18.252.67(CA服務器)
B:172.18.253.176(客戶服務器)
在A設備上進行的操作:
通過上面的配置文件的說明需要在/etc/pki/CA/private目錄下生成私鑰
openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096
通過上面生成的私鑰生成CA的自簽證書:
openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 365
生成證書的時候是交互式的
這里寫到的就是上面配置文件中提到的policy策略,如果是默認的話,注意下面的幾項,客戶在進行生成申請證書的時候與此三項要相同
Country Name (2 letter code) [XX]:CN //所在國家
State or Province Name (full name) []:BeiJing //所在州/省
Organization Name (eg, company) [Default Company Ltd]:magedu.com //簽證公司
查看生成的自簽證書
openssl x509 -in cacert.pem -noout -text
生成證書完成
在B設備上進行的操作
生成私鑰:
openssl genrsa -out /root/http.rsa 2048
生成申請證書:
openssl req -new -key /root/http.rsa -out /root/http.csr
注意,生成申請文件的時候對就的三項要與CA服務器上的對應的三項相同
Country Name (2 letter code) [XX]:CN //所在國家
State or Province Name (full name) []:BeiJing //所在州/省
Organization Name (eg, company) [Default Company Ltd]:magedu.com //簽證公司
將生成的申請書遞交給CA服務器
scp http.csr 172.18.252.67:/etc/pki/CA/
在A設備上進行對遞交的申請進行審核確認
openssl ca -in http.csr -out certs/http.crt -days 365
生成的時候報錯了
/etc/pki/CA/index.txt: No such file or directory
說沒有這個目錄,根據上面的配置文件所示需要填加一個文件顯示證書屬性列表
直接創建此文件即可
touch index.txt
再次生成的時候又出錯了
/etc/pki/CA/serial: No such file or directory
根據配置文件中serial文件的要求,需要創建此文件
但是通過tree命令查看生成的文件時,看到已經生成了http.crt,但是通過ls命令查看文件是一個空文件
touch serial
再次生成時候又出錯了
unable to load number from /etc/pki/CA/serial
通過配置文件說明,此文件是一個序號文件,這個文件內容要求為兩位數值,所以直接通過下面命令進行修改
echo 01 > serial
生成正確了
發送到windows系統進行測試
安裝根證書以后,可以看到打開http.crt文件時不再是”沒有足夠信息,不能驗證該證書”而是顯示”所有應用策略”
由于B服務器進行了非法操作,所以現在要對B服務器的CA進行吊銷操作
openssl ca -revoke certs/http.crt
生成吊銷證書
openssl ca -gencrl -out crl/crl.pem
出錯:/etc/pki/CA/crlnumber: No such file or directory
touch crlnumber
出錯:unable to load number from /etc/pki/CA/crlnumber
echo 11 > crlnumber
生成成功
查看吊銷證書
openssl crl -in crl/crl.pem -noout -text
拉出來看看
sz crl/crl.pem
可以看至吊銷列表
原創文章,作者:gaomei,如若轉載,請注明出處:http://www.www58058.com/73174