日常生活中,访问https网页时会提示“与此网站是安全链接”,网站部署了SSL证书也会有证书颁发机构信息,浏览器根证书受信,加密安全等等提示,表示访问的网页是受到数据加密,安全性网站。浏览器验证SSL或TLS证书的过程是为了确保与网站之间的通信是安全的。SSL/TLS证书用于加密数据传输,防止中间人攻击,并验证网站的身份。那么浏览器是如何对SSL证书进行验证呢?
1、获取证书:
当用户尝试访问一个使用HTTPS的网站时,浏览器首先会向服务器发送一个连接请求。服务器响应这个请求并提供其SSL/TLS证书。如未部署SSL证书,通常会提示“您与该网站的连接不是私密连接,存在安全隐患。”
2、检查证书链:
SSL证书通常由一个证书颁发机构(CA)签名。证书中包含了公钥、域名和颁发者的信息。浏览器会检查证书的签名是否来自一个受信任的CA,以及该证书是否适用于所请求的网站。
以国产SSL证书品牌JoySSL申请为例,打开JoySSL官网,选择需要的证书类型(单域名、多域名、通配符、IP证书、代码签名证书等等),在验签后,按步骤提示完成在服务器中的部署就可以了。
打开JoySSL官网,填写注册码230921,即可免费获得SSL证书。
https://www.joyssl.com/certificate/select/free.html?nid=21
3、验证签名:
浏览器使用CA的公钥来验证证书的数字签名。如果签名有效,这意味着证书没有被篡改过,且确实是由CA签发的。
4、检查有效期:
SSL证书有有效期,过期的证书将被视为无效。浏览器会检查证书的有效开始日期和结束日期,确保当前日期在有效期内。如证书未部署上或者证书有效期时间已过,也会有证书过期或者非安全链接等等提示。
5、检查域名匹配:
证书中包含的域名必须与用户正在访问的网站域名相匹配。例如,如果你访问的是www.baidu.com,那么证书中的域名也应该是www.baidu.com或baidu.com。
6、检查黑名单:
浏览器会检查证书是否在任何已知的黑名单中,以避免使用已被撤销的证书。
7、建立安全连接:
如果上述所有检查都通过,浏览器和服务器之间将进行密钥交换,以创建一个安全的、加密的数据通道。这通常涉及选择加密算法、生成会话密钥等步骤。常用的是国际算法,能适用目前市场上主流浏览器,也有部分教务、政务机构有特殊要求。
8、警告和错误:
如果在验证过程中发现任何问题,比如证书无效、域名不匹配或已过期,浏览器将显示警告信息或阻止用户访问该网站,以保护用户的隐私和数据安全。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。