網站私有CA證書製做

          所謂的網站安全證書 是經過在客戶端瀏覽器和Web服務器之間創建一條SSL安全通道保證了雙方傳遞信息的安全性,並且用戶能夠經過服務器證書驗證他所訪問的網站是否真實可靠。

大致步驟:

1)簽名發送方(甲)對須要發送的明文使用雜湊算法,計算摘要;
2)甲使用其簽名私鑰對摘要進行加密,獲得密文;
3)甲將密文、明文和簽名證書發送給簽名驗證方(乙);
4)乙方驗證簽名證書的有效性,並一方面將甲發送的密文經過甲的簽名證書解密獲得摘要,另外一方面將明文相同的雜湊算法計算出摘要;
5)乙對比兩個摘要,若是相同,服務器證書則能夠確認明文在傳輸過程當中沒有被更改,而且信息是由證書所申明身份的實體發送的。
簽名私鑰配合雜湊算法的使用,能夠完成服務器/網站安全證書功能。而對服務器/網站安全證書和簽名發送方的身份的確認,就須要經過CA對其身份認證進行驗證。
 

建立私有CA:

openssl的配置文件:/etc/pki/tls/openssl.cnf
三種策略:匹配、支持和可選
匹配指要求申請填寫的信息跟CA設置信息必須一致,支持指必
須填寫這項申請信息,可選指無關緊要

一、建立所須要的文件
touch /etc/pki/CA/index.txt 生成證書索引數據庫文件
echo 01 > /etc/pki/CA/serial 指定第一個頒發證書的序列號                                                     #此處數字必須爲兩位數
二、 CA自簽證書
生成私鑰
cd /etc/pki/CA/                                                                                                                         #路徑很重要,默認的按照配置文件裏的來
(umask 066; openssl genrsa -out
/etc/pki/CA/private/cakey.pem 2048)算法

3     建立CA數據庫

openssl req -new -x509 /etc/pki/CA/private/cakey.pem -days 7300 /etc/pki/CA/cacert.pem     #路徑很重要,默認的按照配置文件裏的來瀏覽器

查看證書命令 openssl x509 -in cakey.pem -noout -text  #若是不在/etc/pki/CA/private目錄則路徑cakey.pem文件要換成局對路徑。安全

客戶端上申請證書步驟:服務器

1   (umask 066; openssl genrsa -out /app/service.key -des 1024)           #由於客戶端生成私鑰沒有要求因此通常自由決定放的位置。app

2    openssl req -new -key /app/service.key -out /app/service.csr             #客戶端申請證書網站

 
   

Country Name (2 letter code) [XX]:CN             #默認必填,必須和根證書內容一致
State or Province Name (full name) []:HN         #默認必填,必須和根證書內容一致
Locality Name (eg, city) [Default City]:ZHENGZHOU
Organization Name (eg, company) [Default Company Ltd]:chykj.com         #默認必填,必須和根證書內容一致
Organizational Unit Name (eg, section) []:amoukj
Common Name (eg, your name or your server's hostname) []:chykj.com      #默認必填,必須和根證書內容一致
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:amoukj                                           #可選填
An optional company name []:chykj.com                                    #可選填加密

(1,2,4,6項要求和根證書資料保持一致,其餘選填便可)

3 上傳客戶端生成的請求證書到根證書服務器spa

openssl ca -in /etc/pki/CA/csr/service.csr -out /etc/pki/CA/certs/service.crt -days 365  #輸出的格式通常是crt或cercode

三  證書的狀態查詢及如何吊銷

 1  查看證書中的信息

openssl x509 -in /PATH/FROM/CERT_FILE -noout -text |issuer|subject|serial|dates

openssl ca -status SERIAL  查看指定編號的證書狀態

2   在客戶端獲取要吊銷的證書的serial

openssl x509 -in /PATH/FROM/CERT_FILE -noout -serial -subject

 3   指定第一個吊銷證書的編號

注意:第一次更新證書吊銷列表前,才須要執行

echo 01 > /etc/pki/CA/crlnumber

     更新證書吊銷列表

openssl ca -gencrl -out /etc/pki/CA/crl/crl.pem

     查看crl文件:

openssl crl -in /etc/pki/CA/crl/crl.pem -noout -text

4   在CA上,根據客戶提交的serial與subject信息,對比校驗是否與index.txt文件中的信息一致,吊銷證書

openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem

備註:在etc/pki/CA目錄裏有個index.txt.attr文件  unique_subject = yes  #即爲證書內容的惟一性,是否容許相同內容的證書同時存在。

相關文章
相關標籤/搜索