当我们在访问https网站时,浏览器就会自动下载该网站的SSL证书,并对证书的安全性进行检查。

其他概念不说了,有效期之类的验证也不说了。只说数字证书的真实性可信性验证。

  1.CA下发给网站的证书是分层的证书链,从根证书开始一层一层直到网站证书。要验证某一层证书是否确实由上级CA发放的需要验证附带在该证书上的由上级CA通过签名函数及私钥生成的数字签名。数字签名的解密需要上级CA的公钥,这个公钥就明文保存在证书链中的上层证书中。而根证书是自己给自己签名,也就是根证书的签名也是靠自己保存的公钥来解密。这就解决了真实性问题,也就是能证明最底层的网站证书确实是证书中标明的CA发放的。(由于证书是分等级的,网站拥有 者可能从根证书颁发机构领到证书,也可能从根证书的下一级(如某个国家的认证中心,或者是某个省发出的证书)领到证书。假设我们正在访问某个使用 了 SSL技术的网站,IE浏览器就会收到了一个SSL证书,如果这个证书是由根证书颁发机构签发的,IE浏览器就会按照下面的步骤来检查:浏览器使用内置的根证书中的公钥来对收到的证书进行认证,如果一致,就表示该安全证书是由可信任的颁证机构签发的,这个网站就是安全可靠的;如果该SSL证书不是根服 务器签发的,浏览器就会自动检查上一级的发证机构,直到找到相应的根证书颁发机构,如果该根证书颁发机构是可信的,这个网站的SSL证书也是可信的。)

(对方是不是上述证书的合法持有者。简单来说证明对方是否持有证书的对应私钥。验证方法两种,一种是对方签个名,我用证书验证签名;另外一种是用证书做个信封,看对方是否能解开)附带在证书后面的数字签名到底是上级ca签的,还是该证书自己签的?

  2.而可信性是看根证书是否在操作系统或浏览器内置的根证书列表中,如果在的话那么这个证书链就可信的。

最新文章

  1. Record is locked by another user --Oracle行锁解锁
  2. HDU----(4291)A Short problem(快速矩阵幂)
  3. sql 子查询要命名
  4. BZOJ 2693: jzptab( 莫比乌斯反演 )
  5. 使用java连接MySql,中文乱码解决的方法
  6. springBoot系列教程04:mybatis及druid数据源的集成及查询缓存的使用
  7. Davinci DM6446 Codec Engine双核通信环境的搭建
  8. du命令
  9. eclipse 安装配置
  10. Pytorch安装教程
  11. Day11 多进程与多线程编程
  12. 初步了解hg19注释文件的内容 | gtf
  13. Linux命令(十九) 查看系统负载 uptime
  14. Centos7.2 修改网卡名称
  15. 张超超OC基础回顾02_成员变量(属性),局部变量,全局变量的区别
  16. 一些英文表达-youtube
  17. python2.7入门---异常处理
  18. python(24)- 面向对象进阶
  19. POJ3264【线段树】
  20. [bzoj2150]部落战争_二分图最小路径覆盖

热门文章

  1. centos 日常操作指令
  2. iOS项目导航栏返回按钮
  3. 制作jar包
  4. JS正则表达式的test()方法检查汉字
  5. Linux 查公网出口IP
  6. JAVA的if用法,比如if(...){} 和if()没有大括号直接写下面的区别是什么
  7. NIC Bonding: 2 nic port as 1 interface
  8. 《JS正则表达式》
  9. ubuntu环境下jdk安装及jenkins安装
  10. Java 多态 父类和子类方法的访问控制权限