理解證書和證書鏈

2021-08-20 08:49:50 字數 2610 閱讀 7953

證書和證書鏈

最近一直在研究的東東,這東西說到底,也是依賴於乙個前提

root 證書,所以說很多安全說最終也是個偽命題;只是搞理論的人喜歡

把東西搞複雜,亂扯概念,不講本質。

1.  簡單來說,end-user證書上面幾級證書都是為了保證end-user證書未被篡改,

保證是ca簽發的合法證書,進而保證end-user證書中的公鑰未被篡改。

2. 除了end-user之外,證書被分為root certificates和intermediates certificates。

相應地,ca也分了兩種型別:root cas 和intermediates cas。

首先,ca的組織結構是乙個樹結構,乙個root cas下面包含多個intermediates cas,

而intermediates又可以包含多個intermediates cas。root cas 和 intermediates cas

都可以頒發證書給使用者,頒發的證書分別是rootcertificates和intermediates certificates,

終端使用者用來認證公鑰的證書則被稱為end-user certificates。

3. 我們使用

end-user certificates

來確保加密傳輸資料的公鑰

(public key)

不被篡改,

而又如何確保

end-user certificates

的合法性呢?這個認證過程跟公鑰的認證過程類似,

首先獲取頒布

end-user certificates的ca

的證書,然後驗證

end-user certificates

的signature

。一般來說,

root cas

不會直接頒布

end-user certificates

的,而是授權給多個二級

ca,而二級

ca又可以授權給多個**

ca,這些中間的

ca就是

intermediates cas

,它們才會頒布

拆封證書

所謂證書的拆封,是驗證發行者

ca的公鑰

能否正確解開客戶實體證書中的「發行者的數字簽名」。

兩個證書在交換傳遞之後,要進行拆封,看是否能夠拆封。乙個證書或證書鏈的拆封操作,是為了

從中獲得乙個公鑰。可示為x1p?x1<>,這為乙個中綴操作,其左運算元為乙個認證機構的公鑰,

右運算元則為該認證機構所頒發的乙個證書。如果能正確解開,輸出結果為使用者的公鑰

。從證書內容列表中可以看出,證書結構的

最後內容

是認證機構

ca的數字簽名

,即乙個可信任的ca

已經在證書上用自己的私鑰做了簽名。如果用該ca的公鑰就可以拆封乙個使用者實體的證書,那麼,

這個簽名被驗證是正確的。因為它證明了這個證書是由權威的、可信任的認證機構所簽發。因此,

這個實體證書是真實可信的。

5..證書鏈的驗證

所謂證書鏈的驗證,是想通過

證書鏈追溯到可信賴的ca的根(root)。換句話說,要驗證簽發使用者

實體證書的

ca是否是

權威可信

的ca,如cfca。證書鏈驗證的要求是,路徑中每個證書從最終實體到根證書

都是有效的,並且每個證書都要正確地對應發行該證書的權威可信任性ca。操作表示式為 ap?a<>b<>,

指出該操作使用a的公鑰,從b的證書中獲得b的公鑰bp,然後再通過 bp來解封c的證書。操作的最終結果

得到了c的公鑰cp。這就是乙個證書鏈的認證拆封過程。

(1)證書鏈的定義。證書鏈也稱認證鏈,它是最終實體到根證書的一系列證書組成,這個證書鏈的處

理過程是所有根的前輩指向最開始的根證書,即子輩連向父輩。如圖1所示。

(2)從使用者實體證書到root ca的證書鏈確認,其具體的做法如下頁圖2所示。

從以上對比中可以看出:使用者實體證書中的authoritykey identifier擴充套件項certissuer

,即證書簽發者

甄別名,應當與

ca證書中簽發此證書的ca名稱相匹配,如圖中箭頭所指。即ca證書中的subject name

是使用者實體證書中issuer name的父名

,對上級ca來說又成為子名,ca證書中issuer name

是上一級ca的

名字,成為可信任的鏈狀結構。這樣通過各級實體證書的驗證,逐漸上溯到鏈的終止點——可信任的根ca,

如cfca。

證書鏈 證書校驗

回到證書鏈,在證書認證過程中,由於校驗方,通常為瀏覽器中,繼承的是權威ca機構的根證書,因此對於一些經授權的中間證書,瀏覽器卻識別不了 當然也有部分中間證書可以被識別 因此仔部署https 時,需要構建正確的證書鏈,告訴驗證方,該伺服器證書和它的簽署機構,以及根證書 權威ca機構 之間的關係。在證書...

證書鏈合併

123 4567 891011 1213 combined certificates begin certificate sca end certificate begin certificate mca lower end certificate begin certificate mca upp...

什麼是證書鏈?

證書鏈是什麼鏈麼,能發幣麼?不要懵,證書鏈通常都是公開,不需要保密!此時你是不是感到疑惑,通常我們的證書不都是存在u盾中的麼,怎麼能輕易交給別人?為了說明這些問題,我要講一些概念。本著越基礎,越不好講的原則,我從公鑰演算法講起,還有數字簽名 pki,還要介紹一下區塊鏈 電子證照 密碼機 簽名驗籤伺服...