系統中搭建CA
CA的配置文件
vim /etc/pki/tls/openssl.cnf
默認 CA_default? (可建多個)
[ CA_default ]
dir???????????? = /etc/pki/CA????? # Where everything is kept? CA的工作目錄
certs?????????? = $dir/certs??????? # Where the issued certs are kept 存放證書的地方
crl_dir????????? = $dir/crl????????? # Where the issued crl are kept?? 證書吊銷列表
database??????? = $dir/index.txt??? # database index file.? 存放證書信息的數據庫,需要手工創建
new_certs_dir?? = $dir/newcerts???? # default place for new certs. 新證書默認放此文件夾
certificate???? = $dir/cacert.pem???? # The CA certificate?? CA的證書文件
serial????????? = $dir/serial????? # The current serial number 下一個要頒發的證書序列號(16進制數)
crlnumber?????? = $dir/crlnumber?? # the current crl number下一個要吊銷證書的序列號
crl???????????? = $dir/crl.pem???????? # The current CRL?? 證書吊銷列表
private_key???? = $dir/private/cakey.pem # The private key ???存放私鑰
RANDFILE??????? = $dir/private/.rand?? # private random number file 生成隨機數
x509_extensions = usr_cert??????????? # The extentions to add to the cert? 不關鍵
policy????????? = policy_match?? 策略匹配
[ policy_match ]
countryName???????????? = match?? 國家必須匹配
stateOrProvinceName????? = match??? 省
organizationName???????? = match??? 公司名
organizationalUnitName??? = optional? (可選的)
commonName??????????? = supplied?? 必須提供不能空 一般為網站名域名
emailAddress???????????? = optional??? 郵箱可寫可不寫
實驗:向CA申請證書
進入到CA文件夾
1.建立RootCA
- 生成私鑰匙
(umask 077; openssl genrsa –out private/cakey.pem 4096)
????? 2)自簽名證書
????? ?openssl req -new -x509 -key private/cakey.pem -out cacert.pem -deys 3650
-new?? 建一個新申請
-x509? 表示自簽名 不加表示是普通證書
-key: 生成請求時用到的私鑰文件
-days n:證書的有效期限
-out / PATH/TO/SOMECERTFILE : 證書的保存路徑
CN 表示中國
beijing 省,市
查看證書里的內容 openssl x509 -in cacert.pem -noout -text
也可以傳到windows里看,改成cer或crt后綴
2.用戶或服務器
? ????1)生成私鑰
(umask 077; openssl genrsa –out test.key –des 2048)
????? 2)生成證書申請文件
?????? ? openssl req -new -key text.pem -out text.csr
.csr 申請證書文件后綴
部門可不一致前面要一致
????? 3)將申請文件發給CA
?????? ? scp app.csr 192.168.30.111:/etc/pki/CA
注意:默認國家,省,公司名稱三項必須和CA一致
3 .CA頒發證書
????? touch? /index.txt ?(不創建會提示錯誤)
echo 0F(可自己指定) >serial
openssl ca -in app.csr -out certs/app.crt -days 100
4.證書發送客戶端
?????? ??scp certs/app.crt 192.168.30.6:/date (傳回給申請者)
5.應用軟件使證書
?
一個證書申請,可以申請幾個證書
默認不允許
需要改這個文件 vim index.txt.attr
證書管理
查看證書中的信息:
openssl x509 -in? /PATH/FROM/CERT_FILE? -noout -text|issuer|subject|serial|dates
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/編號 .pem、
R表示已吊銷
V 表示在使用
指定第一個吊銷證書的編號 ,
注意:第一次更新證書吊銷列表前,才需要執行
echo 01 > /etc/pki/CA/crlnumber
更新證書吊銷列表
openssl ca -gencrl -out /etc/pki/CA/crl.pem
查看crl文件:
openssl crl -in /etc/pki/CA/crl.pem -noout -text
其實有腳本可以做這個事
rpm -qp –s cripts /misc/cd/Packages/mod_ssl-2.4.6-67.el7.centos.x86_64.rpm
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/98899