数字证书有效性校验

TIME:2019-03-15   click: 277 次

 

用户在用数字证书加密和验证数字签名时,硬要要先验证证书的有效性。

证书有效性的验证主要包括以下步骤:

1.验证CA签名

①把待验证证书设置为当前证书。

②根据当前证书中签发者信息查询签发者证书,并使用签发者证书验证当前证书中的数字签名是否正确。

③如果不正确,则待验证证书无效。

④如果正确且签发者证书是预先确定的可信任CA证书,则说明待验证证书的CA签名正确;否则,将签发者证书设置为当前证书,重复步骤②~④。

2.验证证书有效期

①如果待验证证书中not Before在当前日期之后,则该证书未生效。

②如果待验证证书中not After在当前日期之前,则该证书已过期。

③否则,该证书处于有效期内。

3.验证证书状态

(1)基于CRL验证证书状态

①根据待验证证书中扩展项CRLDistributionPoints信息获得CRL地址,并根据该地址下载CRL文件。

②检查CRL文件是否在有效期内,如果不在则需要重新下载。

③验证CRL中数字签名是否正确,若不正确则重新下载。

④如果CRL中包括待验证证书的序列号,则说明该证书状态为无效;否则说明该证书状态为有效。

(2)基于OCSP验证证书状态

①把待验证证书的序列号组织成OCSP请求包。

②把OCSP请求包发送给OCSP服务器。

③从OCSP服务器获得OCSP响应包。

④解析OCSP响应包获得该证书的当前状态。

4.验证证书其他属性

①验证证书密钥用途:KeyUsage、ExtKeyUsage、NetscapeCertType。

②验证证书策略:CertificatePolicie。

③其他专用属性。

上一篇:SSl/TLS原理介绍 下一篇:信息的抗抵赖性