什么是证书?
在总结什么是证书之前,我们可以先打开任意一个使用了HTTPS协议的网站,比如我正在写博客的简书。
image.png
可以看到里面包含了非常多信息,其中比较有用的就是“公共秘钥信息”,俗称“公钥”。以及所使用的算法,签名,签名算法,DNS域名。
什么是数字签名?和签名算法?
签名.png可以看到,这是一串256字节的16进制字符串,为什么是256字节呢?因为这取决于证书的签名算法, image.png
信任链 & 根证书
因为证书的信任机制是依赖信任链的,我们先看一张图:
image.png
简单描述一下上图,每个蓝色的矩形都代表一个证书,C信任A,A信任E,那么我们就认为C是可信任的证书。D->B->E也是同理。从C到E这样的结构就叫做信任链。
那么根证书呢?信任链的结构都是以树的结构存储,根证书就是树的根节点的那个证书。
信任链是怎么判断证书是否可靠呢?
这里设计到了一种算法——PGP(Pretty Good Privacy,优良保密协议)。我只知道它的大概原理,就是利用私钥产生一个字符串,这个字符串用来被其他证书使用公钥生成的签名进行校验,如果校验结果匹配则认为证书是可靠的。
网友评论