SSL證書鏈(Certificate Chain)是什么?
在SSL協(xié)議中,客戶端(如瀏覽器)為了識別服務(wù)器身份,要求服務(wù)器提供證書(Certificate)。
那么證書是什么呢?
證書是由CA(Certificate Authority,證書認證機構(gòu))頒發(fā)的,其原理是數(shù)字簽名。CA通過其私鑰簽名證書。于是客戶端可以通過CA的公鑰驗證證書的合法性。
存在兩種CA,root CA(根CA)以及intermediate CA(中間CA)。root CA是自簽名的,intermediate CA則由上層CA簽名,每一層的CA都可以頒發(fā)證書。
關(guān)系如下所示:
證書鏈
root CA,所有的intermediate CA,以及鏈末端的用戶證書(end-user certificate),構(gòu)成了完整的證書鏈。
只有提供了從end-user certificate到root CA的完整證書鏈,瀏覽器才會認為證書可信。
一般情況下,客戶端(如瀏覽器)中可能只安裝了root CA,或者root CA簽名的少數(shù)幾個intermediate CA。
因此,服務(wù)器必須提供部分的證書鏈,這個證書鏈的頂端,必須在客戶端中已安裝。
如果服務(wù)器提供的證書鏈,其頂端的CA無法在客戶端已安裝的CA庫中找到,該證書鏈被認為不可信。
————————————————
原文鏈接:https://blog.csdn.net/qq_21508059/java/article/details/105421140