https证书从哪来?证书链上的中间证书又是从哪来
2022年11月2日
https证书从哪来?https证书是由数字证书颁发机构(CA)颁发的,用户可以根据自身需求去选择合适的类型进行申请。
https证书是由一个完整的证书链组成的,那么证书链上的中间证书又是从哪来呢?
假设证书链是这样的:A->B->C,其中A是Root CA,B是二级CA,C是用户访问的网站那么首先A会签发一张证书a给B,其中包括B的名称,B的公钥,签发人A的名称,A的公钥,证书有效期等元数据,然后A计算所有元数据的哈希值,并使用自己的私钥对哈希值进行加密,生成数字签名。
接下来B也重复一样的流程,签发一张证书b给C。C获得证书b后,再从公开途径获得B的证书a(例如从B的官网下载,或者B直接提供给C),然后将a和b封装为一个证书文件,形成证书链。最后,将证书文件配置到服务器,当用户访问时,就将这个证书文件提供给用户。
用户拆封证书文件得到证书b,使用证书b中B的公钥解密数字签名,并与自己计算得到的哈希值进行比对,一致说明证书合法。但签发机构B不是可信机构,于是用户向上溯源到证书a,使用证书a中A的公钥继续校验其数字签名,得到证书a合法。由于A是Root CA,用户的浏览器和操作系统中已经内置了A的证书,整个证书链就完成了校验。