浏览器是怎么验证,证书是来自权威CA发布的?
1.客户端向服务器端发起client hello,服务器端把证书发给客户端
2.证书包含:
a.域名的相关信息
b.站点的公钥
c.数字签名= CA_private_key( hash(a+b) )
3.浏览器在信任的权威CA里面寻找对应的颁发者证书,找出公钥,解密数字签名得到hash值
4.浏览器将证书包含的信息做一次hash,相当于 hash(a+b),与3的hash值做对比,如果一样,就证明是正确的。
5.取出证书里面,站点使用的公钥,继续后面协商对称密钥的事务。
参考链接:
1. 基于OpenSSL自建CA和颁发SSL证书
2. OpenSSL 与 SSL 数字证书概念贴
3. SSL/TLS原理详解
4. 有关SSL证书的一些事儿
5. 证书的那些事儿
没有评论:
发表评论