轉載:http://rackie386.blog.51cto.com/11279229/1947999
Centos7.3創建CA和申請證書
openssl 的配置文件:/etc/pki/tls/openssl.cnf
重要參數配置路徑
dir = /etc/pki/CA # Where everything is kept
certs = /etc/pki/CA/certs # Where the issued certs are kept
database = /etc/pki/CA/index.txt # database index file.
new_certs_dir = /etc/pki/CA/newcerts # default place for new certs.
certificate = /etc/pki/CA/cacert.pem # The CA certificate
serial = /etc/pki/CA/serial # The current serial number
private_key = /etc/pki/CA/private/cakey.pem # The private key
三種策略:匹配、支持和可選
匹配指要求申請填寫的信息跟CA設置信息必須一致;支持指必須填寫這項申請信息;可選指可有可無
1、創建所需要的文件
touch /etc/pki/CA/index.txt 生成證書索引數據庫文件
echo 01 > /etc/pki/CA/serial 指定第一個頒發證書的序列號,必須是兩位十六進制數,99之后是9A
2、CA自簽證書
生成私鑰
cd /etc/pki/CA/
(umask 066;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)
生成自簽名證書
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: 證書的保存路徑
提示輸入國家,省,市,公司名稱,部門名稱,CA主機名(頒發者名稱)
linux下查看生成的自簽名證書
openssl x509 -in /etc/pki/CA/cacert.pem -noout -text
Windows下查看生成的自簽名證書
需要更改上述文件名后綴為.cer即可查看
3、頒發證書
(1)在需要使用證書的主機生成證書請求
給web服務器生成私鑰
(umask 066; openssl genrsa -out /app/service.key 2048)
生成證書申請文件
openssl req -new -key /app/service.key -out /app/service.csr
同樣提示輸入國家,省,市等信息。注意:國家,省,公司名稱三項必須和CA一致。主機名稱必須和網站域名相同,如www.centos73.com。或者使用泛域名,即*.centos73.com,匹配所有。
(2)將證書請求文件傳輸給CA
scp /app/service.csr 192.168.10.15:/etc/pki/CA/csr/
(3)CA簽署證書,並將證書頒發給請求者
openssl ca -in /etc/pki/CA/csr/service.csr –out /etc/pki/CA/certs/service.crt -days 365
生成certs/service.crt和newcerts/xx.pem文件,兩個文件相同。
(4)查看證書中的信息:
openssl x509 -in certs/service.crt -noout -text|issuer|subject|serial|dates
cat serial
cat index.txt //V表示當前證書的狀態正常
openssl ca -status SERIAL 查看指定編號的證書狀態
cat index.txt.attr //yes表示subjects信息必須是唯一的,不能重復申請
4、吊銷證書
(1)在客戶端獲取要吊銷的證書的serial
openssl x509 -in /etc/pki/CA/cacert.pem -noout -serial -subject
(2)在CA上,根據客戶提交的serial與subject信息,對比檢驗是否與index.txt文件中的信息一致,吊銷證書:
openssl ca -revoke /etc/pki/CA/newcerts/xx.pem
cat index.txt //R表示證書已經失效
(3)指定第一個吊銷證書的編號
注意:第一次更新證書吊銷列表前,才需要執行
echo 01 > /etc/pki/CA/crlnumber
(4)更新證書吊銷列表:
openssl ca -gencrl -out /etc/pki/CA/crl.pem
linux下查看crl文件:
openssl crl -in /etc/pki/CA/crl.pem -noout -text
Windows下查看吊銷列表文件,需更改文件后綴為.crl
本文出自 “rackie” 博客,請務必保留此出處http://rackie386.blog.51cto.com/11279229/1947999
原文地址:http://rackie386.blog.51cto.com/11279229/1947999