構建私有CA的流程圖,由於做圖的時候忘記設置大小結果圖就是這樣........
Openssl 配置文件: /etc/pki/tls/openssl.cnf
[ CA_default]
dir = /etc/pki/CA CA的主目錄
certs = $dir/certs 證書所在的目錄
crl_dir = $dir/crl 被吊銷的證書所在目錄
database = $dir/index.txt 證書的數據文件
new_certs_dir = $dir/newcerts 新頒發的證書目錄
certificate = $dir/cacert.pem CA自己的證書文件
certificate = $dir/cacert.pem 證書序號文件
crlnumber = $dir/crlnumber 吊銷序號
crl = $dir/crl.pem 當前使用的CRL
private_key = $dir/private/cakey.pem 證書的私鑰文件
RANDFILE = $dir/private/.rand CA使用的隨機數文件
[ req_distinguished_name ]
這裏所設置的內容就是爲生成自簽署證書時或者申請證書請求時的設置
countryName_default = XX 設置默認國家
#stateOrProvinceName_default = Default Province 設置默認省份(註釋掉了把#去掉就好)
localityName_default = Default City 設置默認城市
0.organizationName_default = Default Company Ltd 設置默認公司
#organizationalUnitName_default = 設置默認單位
以上內容都可以修改爲自己所需要的
構建私有CA詳細步驟:
1.在CA服務器上生成私鑰文件並且自簽署證書
1)爲CA創建私鑰文件
(umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)
注:這裏的生成位置及格式必須要和openssl的配置文件裏定義的路徑和格式要一樣否則在處理申請證書請求時會提示錯誤,如果不想使用默認定義的格式可將配置文件的格式修改爲你需要的.
2)爲私有CA頒佈自簽署證書
openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3655
-new :創建新證書
-x509:自簽署證書時使用,如果只是申請證書請求則不需要加此參數
-key:指定私鑰所在的位置
-days:指定證書時間
echo 01 > /etc/pki/CA/serial
4)創建證書數據文件
touch /etc/pki/CA/index.txt
2.客戶端生成私鑰並生成簽署證書請求
(umask 077;openssl genrsa -out /tmp/app.key 2048)
openssl req -new -key /tmp/app.key -out /tmp/app.csr -days 365
注 :這裏所填寫的信息除主機名和郵箱地址外其餘必須要和CA證書的內容一模一樣.
3.CA簽署證書請求
由於我這裏只開了一臺虛擬機,所以即做CA又做申請者
openssl ca -in /tmp/app.csr -out /tmp/app.crt -days 365
輸入兩次Y即可簽署
4)吊銷證書:
openssl ca -revoke /tmp/app.crt