Linux搭建CA服務
阿新 • • 發佈:2018-12-03
可靠性 配置 目錄 ria 郵箱 poi 引導 str nalu 什麽是CA認證?
CA認證,即CA認證機構,為電子簽名相關各方提供真實性、可靠性驗證的行為。
什麽是CA證書?
證書實際是由證書簽證機關(CA)簽發的對用戶的公鑰的認證。
CA證書類型?
- 證書頒發機構自簽名證書
- 服務器證書
- 用戶證書
Linux系統如何搭建CA服務?
1.安裝相關工具:opensslyum install openssl -y
2.openssl相關配置文件:/etc/pki/tls/openssl.cnf
指定默認使用的CA
[ ca ] default_ca = CA_default # The default ca section CA的相關配置 [ 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,當前證書編號 crlnumber = $dir/crlnumber ? # the current crl number,當前吊銷證書編號 crl = $dir/crl.pem ? ? ? # The current CRL,當前的吊銷證書 private_key = $dir/private/cakey.pem # The private key,CA私鑰 RANDFILE = $dir/private/.rand ? # private random number file,隨機文件 default_days = 365 ? ? ?# how long to certify for,證書有效期 default_crl_days= 30 ? ? ?# how long before next CRL,發布證書 吊銷列表的周期 default_md = sha256 ? ? # use SHA-256 by default,算法 preserve = no # keep passed DN ordering policy = policy_match ? ? ? ? ? ?#選擇使用的策略類型 \# For the CA policy [ policy_match ] ? ? ? ? ? ? ? ? ? ?#第一種策略 countryName = match ? ? ? ? ?#是否匹配國家 stateOrProvinceName = match ? ? ? #是否匹配省 organizationName = match ? ? ? ? #是否匹配組織名稱 organizationalUnitName = optional ? ? #是否單元名稱 commonName = supplied ? ? ? #通用名 emailAddress = optional ? ? ? ? #郵箱 # For the ‘anything‘ policy # At this point in time, you must list all acceptable ‘object‘ # types. [ policy_anything ] countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional commonName = supplied emailAddress = optional
3.創建CA
(1)創建索引數據庫文件和指定證書編號 ? ? ?
touch /etc/pki/CA/index.txt
echo 01 >/etc/pki/CA/serial
(2)CA自簽名證書
生成私鑰:
(umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)
生成自簽名證書:
openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 365
(3)客戶端創建申請文件
生成客戶端私鑰:
(umask 066;openssl genrsa -out app.key 1024)
生成申請文件:
openssl req -new -key app.key -out app.csr
將生成的申請文件發送到CA頒發服務器
scp app.csr 192.168.128.130:/etc/pki/CA/
(4)CA服務器為客戶端頒發證書
openssl ca -in app.csr -out certs/app.crt -days 100
(5)將生成的證書發送給申請的客戶端
scp certs/app.crt 192.168.128.129:
證書吊銷
生成吊銷證書序號文件
echo 01 >crlnumber
吊銷證書
openssl ca -revoke /etc/pki/CA/newcerts/01.pem
生成吊銷列表
openssl ca -gencrl -out /etc/pki/CA/crl.pem
註意事項:
1.必須要提前創建證書數據庫引導文件/etc/pki/CA/index.txt
2.指定證書編號,證書頒發完成後會自動更新證書序號
Linux搭建CA服務