2018年5月7日星期一

基于OpenSSL自建CA和颁发SSL证书

浏览器是怎么验证,证书是来自权威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. 证书的那些事儿

没有评论:

发表评论