浏览器如何验证证书的

基本概念

CA

首先CA是Certificate Authority的缩写,也叫“证书授权中心”。
它是负责管理和签发证书的第三方机构,就好比例子里面的中介——C 公司。
一般来说,CA必须是所有行业和所有公众都信任的、认可的。因此它必须具有足够的权威性。就好比A、B两公司都必须信任C公司,才会找 C 公司作为公章的中介。

CA 证书

顾名思义,就是CA颁发的证书。

浏览器中默认有得到认证的根证书,使用https的网站需要让浏览器信任自己的证书就需要去申请这些机构的证书

浏览如何验证证书的真伪呢?

首先我们需要了解一下CA是如何给我们发证书的。

1.向CA申请证书
2.CA认证了你的信息之后同意给你颁布证书,生成证书信息,生成证书的指纹用于后面验证证书的真伪
3.使用私钥对指纹进行加密生成数字签名,常用的算法有RSA公钥体制
4.将证书颁发网站,生成的证书会指向给他颁发证书的CA

了解完CA证书的生成之后我们就可以看一下浏览器如何验证证书的了。

1.浏览器拿到证书之后会找到证书所对应的CA
2.浏览器取出CA中的公钥,使用公钥对证书的签名进行解密
3.将解密的结果与证书指纹做对比,如果对比一致则说明真书是真的
4.浏览器提取出证书中的公钥使用