我们正常选择网站、小程序SSL证书的时候直接到熟悉的平台购买。有会根据不同的加密级别,以及普通单证书和泛证书的区别。可能大部分人也就了解这么多。今天老左有单独对证书的一些概念去深入点点了解,看到还有所谓的中间证书和根证书,这些到底是什么呢?
这个也是我一起来学习学习简单做一个记录。
第一、中间证书
中间证书,其实也叫中间CA(中间证书颁发机构,Intermediate certificate authority, Intermedia CA),对应的是根证书颁发机构(Root certificate authority ,Root CA)。为了验证证书是否可信,必须确保证书的颁发机构在设备的可信CA中。如果证书不是由可信CA签发,则会检查颁发这个CA证书的上层CA证书是否是可信CA,客户端将重复这个步骤,直到证明找到了可信CA(将允许建立可信连接)或者证明没有可信CA(将提示错误)。
为了构建信任链,每个证书都包括字段:“使用者”和“颁发者”。 中间CA将在这两个字段中显示不同的信息,显示设备如何获得下一个CA证书,重复检查是否是可信CA。
根证书,必然是一个自签名的证书,“使用者”和“颁发者”都是相同的,所以不会进一步向下检查,如果根CA不是可信CA,则将不允许建立可信连接,并提示错误。
例如:一个服务器证书 domain.com,是由Intermedia CA签发,而Intermedia CA的颁发者Root CA在WEB浏览器可信CA列表中,则证书的信任链如下:
证书 1 - 使用者:domain.com;颁发者:Intermedia CA
证书 2 - 使用者:Intermedia CA;颁发者: Root CA
证书 3 - 使用者:Root CA ; 办法和: Root CA
当Web浏览器验证到证书3:Root CA时,发现是一个可信CA,则完成验证,允许建立可信连接。当然有些情况下,Intermedia CA也在可信CA列表中,这个时候,就可以直接完成验证,建立可信连接。
但如果Web浏览器在验证过程中,没有找到这个Intermedia CA,那即使Root CA本身是可信CA,但因为WEB浏览器无法通过中间证书来发现这个Root CA,最后也会导致无法完成验证,无法建立可信连接。
要获得中间证书,一般有两种方式:第一种、由客户端自动下载中间证书;第二种、由服务器推送中间证书。
那中间证书有什么作用呢?
1、保护根证书
因为如果直接采用根证书签发证书,一旦发生根证书泄露,将造成极大的安全问题。中间证书可以不止一个,目前我们经常看到有两级中间证书的,原则上中间证书层数越多,根证书越安全。但是一般情况下最多也不超过2级。
2、区别产品
针对DV,OV,EV等不同类型,不同安全级别的证书,CA会采用不同的根证书,一来便于区分,二来一旦出现问题,也便于区别处理,降低影响。中间CA证书一般都是支持在线签发证书的。
3、交叉验证
为了获得更好的兼容性,支持一些很古老的浏览器,有些根证书本身,也会被另外一个很古老的根证书签名,这样根据浏览器的版本,可能会看到三层或者是四层的证书链结构,如果能看到四层的证书链结构,则说明浏览器的版本很老,只能通过最早的根证书来识别。
第二、什么是根证书
根证书,通常称为可信根,是信任SSL/TLS的信任模型的中心。每个浏览器都包含根存储。有些浏览器是自己运行,有些浏览器是使用第三方商店。根存储是安装在设备上的预下载根证书的集合。根证书是无价的,因为使用其私钥签名的任何证书都将被浏览器自动信任。
可信根属于证书颁发机构,即验证和发布SSL证书的组织。
参考文章来自:
1、https://www.cnblogs.com/sslwork/p/5986985.html
2、https://www.sohu.com/a/250886697_708801