關於SSL證書之證書鏈

hdgara1發表於2020-05-14

關於SSL證照之證照鏈

證照鏈由兩個環節組成—信任錨(CA 證照)環節和已簽名證照環節。自我簽名的證照僅有一個環節的長度—信任錨環節就是已簽名證照本身。

證照鏈可以有任意環節的長度,所以在三節的鏈中,信任錨證照CA 環節可以對中間證照籤名;中間證照的所有者可以用自己的私鑰對另一個證照籤名。CertPath API 可以用來遍歷證照鏈以驗證有效性,也可以用來構造這些信任鏈。

Web 瀏覽器已預先配置了一組瀏覽器自動信任的根 CA 證照。來自其他證照授權機構的所有證照都必須附帶證照鏈,以檢驗這些證照的有效性。證照鏈是由一系列 CA 證照發出的證照序列,最終以根 CA 證照結束。

證照最初生成時是一個自簽名證照。自簽名證照是其簽發者(簽名者)與主題(其公共金鑰由該證照進行驗證的實體)相同的證照。如果擁有者向 CA 傳送證照籤名請求 (CSR),然後輸入響應,自簽名證照將被證照鏈替換。鏈的底部是由 CA 釋出的、用於驗證主題的公共金鑰的證照(回覆)。鏈中的下一個證照是驗證 CA 的公共金鑰的證照。通常,這是一個自簽名證照(即,來自 CA、用於驗證其自身的公共金鑰的證照)並且是鏈中的最後一個證照。

在其他情況下,CA 可能會返回一個證照鏈。在此情況下,鏈的底部證照是相同的(由 CA 簽發的證照,用於驗證金鑰條目的公共金鑰),但是鏈中的第二個證照是由其他 CA 簽發的證照,用於驗證您向其傳送了 CSR 的 CA 的公共金鑰。然後,鏈中的下一個證照是用於驗證第二個 CA 的金鑰的證照,依此類推,直至到達自簽名的根證照。因此,鏈中的每個證照(第一個證照之後的證照)都需要驗證鏈中前一個證照的簽名者的公共金鑰。

簽名的原理如下圖。

下面是證照有效性驗證的圖。這就是 證照鏈 的概念所在。

比如在驗證我們 的有效性的時候,會一層層的去尋找頒發者的證照,直到自簽名的根證照,然後透過相應的公鑰再反過來驗證下一級的數字簽名的正確性。


全球可信CA機構

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31483669/viewspace-2692127/,如需轉載,請註明出處,否則將追究法律責任。

相關文章