HTTPS 证书验证

首先,我们了解一下数字证书

HTTPS 证书验证_第1张图片

如图,数字证书 = 证书 + 数字签名

(1) Version,证书版本

(2) Serial Number,证书序列号

(3) Issuer,颁发证书的CA机构

(4) Validity,有效期,包含生效时间和失效时间,是一个时间区间

(5) Subject,申请证书的组织/公司信息

(6) Subject Public Key Info,公钥信息,包括公钥的加密算法和公钥内容

(7) Extensions,扩展信息

(8) Certificate Signature Algorithm,证书签名算法,包括对证书进行摘要的HASH算法(比如:MD5,SHA1,SHA256),使用私钥对摘要进行签名的加密算法(比如:RSA,DSA/DSS) 此项图中没有!

(9) Certificate Signature,证书签名

 

签名过程:首先使用HASH算法对证书的部分内容进行摘要,然后使用CA机构自己的私钥对摘要进行加密

客户端验证过程:首先使用HASH算法对证书的部分内容进行摘要,得到HASH值H1,然后使用该CA机构的公钥对签名进行解密,得到HASH值H2,如果HASH值相同,则验证通过

 

HTTPS 证书验证_第2张图片

当然,客户端验证还包括有效期,证书持有者,颁发机构等校验。不过最重要的,还是数字签名的验证!

 

参考:

https://www.cnblogs.com/snowater/p/7804889.html

https://blog.51cto.com/11883699/2160032

https://www.jianshu.com/p/b0b6b88fe9fe

 

HTTPS相关:https://www.kuacg.com/22672.html

https://blog.csdn.net/cout__waht/article/details/80859369

你可能感兴趣的:(HTTPS 证书验证)