1. 程式人生 > >公鑰、私鑰、證書、數字簽名

公鑰、私鑰、證書、數字簽名

  1. 資訊內容加密
    接收者的公鑰: 用於加密
    接收者的私鑰: 用於解密
    ——– 驗證接收者(保證資料私密性)

  2. 數字簽名
    傳送者的私鑰: 用於加密
    傳送者的公鑰: 用於解密
    ——– 驗證傳送者(保證不可抵賴性、資料完整性)

  3. 證書
    用於確認公鑰所對應的私鑰持有者的身份
    證書與公共金鑰相關聯
    證書內容包括: 證書的名稱(含國家,省,城市,組織等資訊), 公匙; 認證機構的名稱, 簽名; 有效時間; 證書籤發的流水號等資訊.
    證書的概念:首先要有一個根證書,然後用根證書來簽發使用者證書。
    對於申請證書的使用者:在生成證書之前,一般會有一個私鑰,然後用私鑰生成證書請求(證書請求裡應含有公鑰資訊),再利用證書伺服器的根證書來簽發證書。

特別的:
(1)自簽名證書(一般用於頂級證書、根證書): 證書的名稱和認證機構的名稱相同.

(2)根證書:根證書是CA認證中心給自己頒發的證書,是信任鏈的起始點。安裝根證書意味著對這個CA認證中心的信任

數字證書則是由證書認證機構(CA)對證書申請者真實身份驗證之後,用CA的根證書對申請人的一些基本資訊以及申請人的公鑰進行簽名(相當於加蓋發證書機構的公章)後形成的一個數字檔案。數字證書包含證書中所標識的實體的公鑰(就是說你的證書裡有你的公鑰),由於證書將公鑰與特定的個人匹配,並且該證書的真實性由頒發機構保證(就是說可以讓大家相信你的證書是真的),因此,數字證書為如何找到使用者的公鑰並知道它是否有效這一問題提供瞭解決方案。

openssl中有如下字尾名的檔案
.key格式:私有的金鑰
.crt格式:證書檔案,certificate的縮寫
.csr格式:證書籤名請求(證書請求檔案),含有公鑰資訊,certificate signing request的縮寫
.crl格式:證書吊銷列表,Certificate Revocation List的縮寫
.pem格式:用於匯出,匯入證書時候的證書的格式,有證書開頭,結尾的格式

常用證書協議
x509v3: IETF的證書標準
x.500:目錄的標準
SCEP: 簡單證書申請協議,用http來進行申請,資料有PKCS#7封裝,資料其實格式也是PKCS#10的
PKCS#7: 是封裝資料的標準,可以放置證書和一些請求資訊
PKCS#10: 用於離線證書申請的證書申請的資料格式,注意資料包是使用PKCS#7封裝這個資料
PKCS#12: 用於一個單一檔案中交換公共和私有物件,就是公鑰,私鑰和證書,這些資訊進行打包,加密放在儲存目錄中,CISCO放在NVRAM中,使用者可以匯出,以防證書伺服器掛掉可以進行相應恢復。思科是.p12,微軟是.pfx

本文附件有一篇網上配置文件,自己並沒有實際操作過,根據自己的理解做了一點文字修改,在該例子中
(1)CA中心:生成私鑰my-ca.key -〉通過CA私鑰來生成自簽名證書my-ca.crt

(2)郵件伺服器:即需要申請證書的使用者,在自己的計算機中生成一個證書籤名請求(certificate signing request (CSR) )檔案,CSR包括自己的公鑰,將其上載到 CA中心,由CA中心用自己的私鑰把CSR檔案簽名生成證書。

郵件伺服器生成私鑰station20.key-〉生成證書籤名請求dovecot.csr(.csr裡有郵件伺服器的公鑰資訊)-〉上傳到CA中心,用CA證書和CA私鑰為csr檔案簽名,生成dovecot.crt 證書。關鍵命令為openssl ca -in dovecot.csr -out dovecot.crt -cert my-ca.crt -keyfile my-ca.key-〉再把CA中心上的dovecot.crt證書下載回郵件伺服器

(3)郵件客戶端:不需要申請證書,只需要信任證書。
把CA中心的my-ca.crt權威CA匯入到信任列表中
本文出自 “醉夢無的部落格” 部落格。