概念
- CA(Certificate Authority)證書授權中心 -- 數字證書發放和管理機構
- 證書 - 為公鑰加上數字簽名
注: 公鑰證書(PKC,Public-Key Certificate)類似於駕照,其中包括姓名、地址等個人信息和專屬的公鑰,然后由認證機構(CA)添加數字簽名,公鑰證書也簡稱證書(Certificate)。 - 根證書CA認證中心給自己頒發的證書,是信任鏈的起始點。
注:安裝根證書意味着對這個CA認證中心的信任,一般商業認證機構的根證書會默認導出在瀏覽器中。
應用場景
- Bob生成秘鑰對
- Bob在認證機構Trent注冊自己的公鑰
Bob將公鑰發送給認證機構Trent;
認證機構收到公鑰后會核實Bob身份(身份確認和認證業務准則);
核實通過后對Bob的公鑰添加數字簽名(證書 = 公鑰 + 數字簽名)。 - 認證機構Trent用自己的私鑰對Bob的公鑰添加數字簽名並生成證書
- Alice獲得Bob的證書(Bob公鑰 + Trent私鑰添加的數字簽名)
- Alice通過Trent的公鑰驗證證書的數字簽名,確認Bob公鑰的合法性
- Alice得到Bob的公鑰並使用公鑰給Bob發數據
- Bob用自己的私鑰解密Alice發來的密文
證書標准規范
X.509 v3版本規范(RFC5280)
格式
X.509規范中一般推薦使用PEM(Privacy Enhanced Mail)格式來存儲證書相關的文件。證書文件的文件名后綴一般為.crt或.cer。對應私鑰文件的文件名后綴一般為.key。證書請求文件的文件名后綴為.csr。有時候也統一用pem作為文件名后綴。PEM格式采用文本方式進行存儲。一般包括首尾標記和內容塊,內容塊采用Base64進行編碼。
** 總結 **
X.509 DER(Distinguished Encoding Rules)編碼,后綴:.der .cer .crt
X.509 BASE64編碼(PEM格式), 后綴: .pem .cer .crt
** 解析工具 **
openssl 工具命令:openssl x509 -in ca-cert.pem -inform pem -noout -text
公鑰基礎設施(PKI)
PKI 是 Public Key Infrastructure 的縮寫,其主要功能是綁定證書持有者的身份和相關的密鑰對(通過為公鑰及相關的用戶身份信息簽發數字證書),為用戶提供方便的證書申請、證書作廢、證書獲取、證書狀態查詢的途徑,並利用數字證書及相關的各種服務(證書發布,黑名單發布,時間戳服務等)實現通信中各實體的身份認證、完整性、抗抵賴性和保密性
單向認證和雙向認證
單向認證
雙向認證
mkcert-局域網認證
- 生成CA根證書和私鑰
mkcert -install //生成CA根證書和私鑰
mkcert -CAROOT //查看生成路徑
- 簽發證書
mkcert 127.0.0.1 192.168.12.10 //添加證書認證地址,生成的證書和私鑰用於服務端部署,認證機構通過私鑰來給新生成的證書添加數字簽名(生成證書)。
- 客戶端導入CA根證書(認證中心公鑰)添加信任認證機構
- 已信任認證機構(已導入CA根證書)的客戶端可解碼服務端發送過來的證書(服務端公鑰 + 認證機構數字簽名,機構數字簽名需要機構公鑰來解碼)
證書可信三要素
-
由可信的CA機構簽發
-
訪問地址跟證書認證地址相符
-
證書在有效期內