SSL证书链(Certificate Chain)是什么?
在SSL协议中,客户端(如浏览器)为了识别服务器身份,要求服务器提供证书(Certificate)。
那么证书是什么呢?
证书是由CA(Certificate Authority,证书认证机构)颁发的,其原理是数字签名。CA通过其私钥签名证书。于是客户端可以通过CA的公钥验证证书的合法性。
存在两种CA,root CA(根CA)以及intermediate CA(中间CA)。root CA是自签名的,intermediate CA则由上层CA签名,每一层的CA都可以颁发证书。
关系如下所示:
证书链
root CA,所有的intermediate CA,以及链末端的用户证书(end-user certificate),构成了完整的证书链。
只有提供了从end-user certificate到root CA的完整证书链,浏览器才会认为证书可信。
一般情况下,客户端(如浏览器)中可能只安装了root CA,或者root CA签名的少数几个intermediate CA。
因此,服务器必须提供部分的证书链,这个证书链的顶端,必须在客户端中已安装。
如果服务器提供的证书链,其顶端的CA无法在客户端已安装的CA库中找到,该证书链被认为不可信。
————————————————
原文链接:https://blog.csdn.net/qq_21508059/java/article/details/105421140