證書鏈 證書校驗

2021-10-02 12:32:42 字數 1843 閱讀 9850

回到證書鏈,在證書認證過程中,由於校驗方,通常為瀏覽器中,繼承的是權威ca機構的根證書,因此對於一些經授權的中間證書,瀏覽器卻識別不了(當然也有部分中間證書可以被識別),因此仔部署https**時,需要構建正確的證書鏈,告訴驗證方,該伺服器證書和它的簽署機構,以及根證書(權威ca機構)之間的關係。在證書鏈中,通常分**結構,根證書,中間證書和伺服器實體證書,正確的證書鏈順序中伺服器實體證書處在最底端,裡面包含了些伺服器網域名稱,伺服器公鑰和簽名值等。伺服器證書上一級是中間證書,中間證書就是上面提到的由權威ca機構授權的二級機構,可以由它來簽發伺服器證書。中間證書可以是由多張證書組合在一起,最上級的是根證書,也就是ca機構,對伺服器身份進行校驗時,需要驗證一整個證書鏈,由於瀏覽器中整合了權威ca機構的根證書,因此主要是校驗中間證書和伺服器實體證書的簽名值是否正確。

校驗伺服器身份需要驗證整個證書鏈,從伺服器實體證書開始,伺服器實體證書的簽發者是上一級中間證書的使用者,中間證書的簽發者是上一級根證書的使用者。每一級證書都有簽名值,根證書使用自己的根ca公鑰驗證自己的簽名,也用來驗證中間證書的簽名值,中間證書的公鑰用來驗證下一級的伺服器實體證書簽名值,以此構成一條信任鏈。

看到每張證書中都有簽名值,以及上一級證書的公鑰用來驗證下一級證書的簽名值,可以看出,驗證信任鏈的方式用的是數字簽名技術。證書簽名方使用自己的私鑰對證書進行簽名,得到簽名值,然後把使用的簽名演算法和簽名值一同放到證書中去,驗證方使用簽名方的公鑰驗證簽名值,如果驗證成功,表明該證書是由簽名方簽發的。下面來看看證書校驗方,也就是瀏覽器校驗證書鏈的過程,主要是校驗中間證書和伺服器實體證書的簽名值是否正確。

當瀏覽器訪問乙個https**時,進行身份驗證,由伺服器傳送自己的不包含根證書的完整證書鏈給瀏覽器,瀏覽器首先從伺服器實體證書開始驗證,檢視該網域名稱是不是在證書使用者可選名稱擴充套件san擴充套件中包含的網域名稱,如果包含,驗證網域名稱成功,接著是證書的有效期驗證,擴充套件驗證,校驗伺服器實體證書中的伺服器公鑰,通過檢視金鑰用法擴充套件,看這個伺服器公鑰是否用來進行金鑰協商和數字簽名。

接下來,校驗方通過伺服器證書中的ca金鑰識別符號來獲取上一級的中間證書檔案,開始中間證書的校驗。和伺服器證書一樣,每乙個擴充套件都由乙個critical屬性,要驗證這個屬性的值必須為true,接著進行日期驗證,金鑰用法擴充套件。中間證書的公鑰除了包含數字簽名用法外,還要包括certificate sign簽名證書用途,crl sign證書過期和吊銷簽署用途。最後校驗basic constraints基礎約束擴充套件,檢驗中間證書是否被允許簽發證書。

身份驗證方(瀏覽器),在身份驗證時除了驗證伺服器實體證書,還要驗證整條信任鏈,保證從伺服器實體證書開始,伺服器證書的簽發者是它的上一級中間證書的使用者,中間證書的簽發者是它的上一級根證書的使用者。校驗信任鏈的方式是迭代簽名驗證,使用數字簽名技術。從伺服器實體證書開始,獲取其上一級中間證書的公鑰來驗證伺服器實體證書的簽名值,接著再從中間證書的上一級根證書獲取的公鑰來驗證中間證書的簽名值,一直迭代下去,由於除根證書外,其他級證書的簽發者是其上一級證書的使用者,到達根證書後,根證書的簽發者和使用者都是它自己,所以瀏覽器在進行迭代驗證過程中,發現某一證書的簽發者和使用者都是自己後,表明找到了根證書,最後驗證跟證書時,使用的就是自己的公鑰驗證自己的簽名值,完整整個證書鏈的驗證。

信任錨也就是信任的起點,對應的就是根證書,因為身份校驗方瀏覽器整合了權威ca機構的根證書,即信任了根證書,也就是信任了由根證書簽發的其他證書。

上圖為windows中整合的根證書。

理解證書和證書鏈

證書和證書鏈 最近一直在研究的東東,這東西說到底,也是依賴於乙個前提 root 證書,所以說很多安全說最終也是個偽命題 只是搞理論的人喜歡 把東西搞複雜,亂扯概念,不講本質。1.簡單來說,end user證書上面幾級證書都是為了保證end user證書未被篡改,保證是ca簽發的合法證書,進而保證en...

cattle node agent 證書校驗失敗

之前部署的k8s環境已轉為生產環境跑了2個月,prometheus 只監控了業務和基礎伺服器的namespace。最近發現cattle system空間下的cattle node agent 15臺不正常,看pod日誌查到是證書效驗失敗.一.檢查集群現在使用的證書 集群中有4個位置要檢查.1.k8s...

證書鏈合併

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