详解HTTPS中数字证书验证系统

原创 2016年03月28日 09:04:26

关于浏览器验证网站数字证书的流程网上的资料一般讲的都不是很清楚。在查阅了不少资料后终于搞清楚这部分。

CA下发给网站的证书都是一个证书链,也就是一层一层的证书,从根证书开始,到下级CA,一层一层,最后一层就是网站证书。

浏览器收到服务器发送的证书后,需要验证其真实性。而证书的签名是通过签名算法和上级CA的私钥生成的,并非很多文章里简单说的靠CA私钥生成。浏览器需要用上级CA的公钥才能解密签名,并与生成的指纹对比,那么问题来了,这个上级CA的公钥从哪来呢?

答案是此公钥来自于证书链该层的上级CA的证书明文内。单个X509v3证书由以下部分组成:

X.509v3证书由三部分组成:

  • tbsCertificate (to be signed certificate),待签名证书。
  • SignatureAlgorithm,签名算法。
  • SignatureValue,签名值。

tbsCertificate又包含10项内容,在HTTPS握手过程中以明文方式传输:

  • Version Number,版本号。
  • Serial Number,序列号。
  • Signature Algorithm ID,签名算法ID。
  • Issuer Name,发行者。
  • Validity period,有效时间。
  • Subject name ,证书主体名称。
  • Subject Public Key Info ,证书主体公钥信息,包含公钥算法和公钥值。
  • Issuer Unique Identifier (optional),发行商唯一ID。
  • Subject Unique Identifier (optional),主体唯一ID。
  • Extensions (optional),扩展。

证书链由多个证书一层一层组成的,除了最底层的网站证书的公钥是给用户加密报文外,其他层证书中的公钥均用于解密底层的证书指纹签名。最高层的根证书是自签名的,也就是自己颁发给自己,所以它的公钥不仅用来解密下层的签名,也用来给自己的签名解密。

验证证书是否真实的任务完成了,那么证书是否可靠如何验证呢?一句话,只要根证书可靠,整个证书链就可靠,而根证书是否可靠要看这个根证书是否在操作系统或浏览器内置的可信根证书内,在的话就可信。

版权声明:本文为博主原创文章,未经博主允许不得转载。

数字证书及其认证过程

众所周知,公钥密码学通过使用公钥和私钥这一密钥对,使数字签名和加密通讯等密钥服务变得容易起来。公钥技术之所以能得到广泛的应用,原因就在于对那些使用密钥对中的公钥来获得安全服务的实体,他们能很方便地取得...

数字证书有效性验证

数字证书的有效性验证主要从三个方面:1,数字证书有效期验证                                                                  2,根证书...

【下】安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS

1.  HTTPS 1.1. 什么是HTTPS HTTPS(HypertextTransfer Protocol Secure)即安全的HTTP。HTTPS的安全基础是安全套接层(Secure S...
  • tenfyguo
  • tenfyguo
  • 2014年11月09日 23:06
  • 11216

数字签名和数字证书

数字签名和数字证书可以在文档或者邮件里面插入数字签名。此时需要一个数字ID。下面是数字ID的解释 带有相应私钥的证书也被称为数字ID 导入证书的时候,可能会提示输入生成这个证书和私钥的密码,之后导...
  • w8764
  • w8764
  • 2017年04月20日 17:03
  • 134

openssl的证书链验证

使用openssl验证证书链可以用以下命令: debian:/home/zhaoya/openssl#openssl verify -CAfile ROOT_CERT USER_CERT 其中的R...

证书链-Digital Certificates

基础知识 证书 CA 证书 CA Signing Verification 证书链 实例 证书链 CA组织 end-user certificates intermediates certifi...

openssl的证书链验证

使用openssl验证证书链可以用以下命令:debian:/home/zhaoya/openssl#openssl verify -CAfile ROOT_CERT USER_CERT其中的ROOT_...
  • dog250
  • dog250
  • 2010年04月01日 21:16
  • 7837

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

https原理:证书传递、验证和数据加密、解密过程解析

我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。 HTTPS简介 HTTPS其实是有两部分组成:HTTP + SSL...
  • clh604
  • clh604
  • 2014年03月26日 15:10
  • 88975

想不通HTTPS如何校验证书合法性来看

简介 HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议 它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。它使用...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:详解HTTPS中数字证书验证系统
举报原因:
原因补充:

(最多只允许输入30个字)