CA搭建与证书申请
一:創建私有CA
openssl的配置文件:/etc/pki/tls/openssl.cnf
根據此配置文件創建CA
dir:CA相關文件存放路徑 /etc/pki/CA
certs:證書存放目錄 /etc/pki/CA/certs
database:數據庫文件 /etc/pki/CA/index.txt
new_certs_dir:新頒發證書存放路徑 /etc/pki/CA/newcerts
certificate:自頒發證書 /etc/pki/CA/cacert.pem
serial:下一個證書的序列號 /etc/pki/CA/serial
private_key: 私鑰 /etc/pki/CA/private/cakey.pem
crl_dir:證書吊銷列表
crlnumber:下一個吊銷證書的序列號
default_days 證書有效期
policy:策略
countryName = match 匹配
stateOrProvinceName =match 匹配
organizationName = match 匹配
客戶端向服務端申請CA證書,此三項必須匹配
若策略由match更改為其他選項,則不用強制匹配
1:創建所需要的文件夾
touch /etc/pki/CA/index.txt 生成證書索引數據庫文件
echo 01 > /etc/pki/CA/serial 指定第一個頒發證書的序列號
2:生成CA秘鑰
(umask 077; openssl genrsa –out /etc/pki/CA/private/cake.pem 2048)
生成秘鑰,不帶密碼
成功生成文件cakey.pem文件
3:生成自簽名證書
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: 證書的保存路徑
/etc/pki/CA/cacert.pem為自簽名證書
查看自簽名證書的相關信息:
openssl x509 -in /etc/pki/CA/cacert.pem -noout -text
在windows上查看自簽名ca證書的相關信息
1)rz /etc/pki/CA/cacert.pem 導出文件至windows
2) 更改文件后綴為.cer
二:客戶端申請證書
1:創建私鑰
(umask 077; openssl genrsa –out /app/service.key 4096)
2:利用私鑰生成ca證書請求文件
openssl rep –new –key /app/service.key -out /app/service.csr
三:頒發證書
openssl ca -in /etc/pki/CA/csr/service.key –out /etc/pki/CA/cert/service.crt
此時數據庫更新了
下一個證書的編號
查看已經頒發的證書:
查看已頒發證書的詳細信息:
cat /etc/pki/CA/certs/service.crt
四:在windows中查看CA頒發的證書
1)上傳文件sz /etc/pki/CA/certs/service.crt
2)查看:無上級證書路徑
3)安裝根CA至安全信任列表
也就是安裝CA生成的自簽名證書
4)再次查看service證書
五:申請多個證書
1:無需重復生成秘鑰,直接生成另外的申請文件即可
openssl req –new –key /app/service.key –out /app/service2.csr
把國家更改為可選的,其他兩項沒做更改,重新申請
openssl ca -in csr/service2.csr -out certs/service2.crt -days 7000
2)再去更改州及公司的匹配策略
重新創建 ok
六:/etc/pki/CA目錄簡要描述
其中:csr目錄是自建的,方便存儲CA申請文件
index.txt:也是自建的,格式也必須固定為index.txtserial:文件也是自建的,文件名固定。其數值范圍剛開始設定,固定在00-99之間
index.txt.attr: 內存放的是subject的策略。
默認值為yes。subject內的內容是不可以全部都一致的,一致則不能頒發證書
打開pem格式的文件使用命令
openssl x509 –in /etc/pki/CA/caert.pem –noout –text
七:證書的吊銷
1:吊銷
openssl ca –revoke /etc/pki/CA/newcerts/02.pem
2:指定第一個吊銷證書的編號
手工創建吊銷列表文件
echo 01 > /etc/pki/CA/crlnumber
3:更新吊銷證書列表
更新:
openssl ca -gencrl -out /etc/pki/CA/crl/crl.pem
查看crl內的pem文件
openssl crl -in /etc/pki/CA/crl/crl.pem –noout -text
總結
- 上一篇: PHP机器学习库php-ml的简单测试和
- 下一篇: 二、StreamAPI