CA证书:就是证明浏览器获取的公钥就是来自你要访问的服务器(比如:百度)
Https工作流程
- 浏览器发起往服务器的443端口发起请求,请求携带了浏览器支持的加密算法和哈希算法。
- 服务器收到请求,选择浏览器支持的加密算法和哈希算法。
- 服务器下将数字证书返回给浏览器,这里的数字证书可以是向某个可靠机构申请的,也可以是自制的。
- 浏览器进入数字证书认证环节,这一部分是浏览器内置的TLS完成的:
1.首先浏览器会从内置的证书列表中索引,找到服务器下发证书对应的机构,如果没有找到,此时就会提示用户该证书是不是由权威机构颁发,是不可信任的。如果查到了对应的机构,则取出该机构颁发的公钥(主要目的是取得公钥)。
2.用机构的证书公钥解密得到证书的内容和证书签名,内容包括网站的网址、网站的公钥、证书的有效期等。浏览器会先验证证书签名的合法性。签名通过后,浏览器验证证书记录的网址是否和当前网址是一致的,不一致会提示用户。如果网址一致会检查证书有效期,证书过期了也会提示用户。这些都通过认证时,浏览器就可以安全使用证书中的网站公钥了。
3.浏览器生成一个随机数R,并使用网站公钥对R进行加密。
- 浏览器将加密的R传送给服务器。
- 服务器用自己的私钥解密得到R。
- 服务器以R为密钥使用了对称加密算法加密网页内容并传输给浏览器。
- 浏览器以R为密钥使用之前约定好的解密算法获取网页内容。

详解浏览器数字证书认证环节
第一步:查看谷歌的浏览器的受信任的根证书颁发机构

第二步:已谷歌(https://www.google.com)为例

第三步:浏览器验证
- 检查SSL 证书是否是由浏览器中“受信任的根证书颁发机构”颁发,例如上面两幅图
- 检查SSL证书中的证书吊销列表,检查证书是否被证书颁发机构吊销
- 检查此SSL证书是否过期
- 检查部署此SSL证书的网站的域名是否与证书中的域名一致
CA证书范例
一个PEM格式的证书范例

解析之后的内容



2634

被折叠的 条评论
为什么被折叠?



