数字证书验证过程

本地验证过程:

1 检查证书的有效期

2 检查证书的密钥用法KU和扩展密钥用法EKU

3 检查证书的主题或主体备用名称SAN

4 检查证书的CA签名。证书链的构建,需要检查每个CA证书的有效性,比如:有效期;密钥用法,是否支持证书签发;路径长度限制(基本约束);名字约束检查;策略约束检查;再用ACL检查CA是否已经注销

5 通过CRL检查证书是否已经注销


基于Client-Server模式的证书验证协议主要有

OCSP

需要客户端构建证书链并验证(因为需要知道CA的主题密钥标识),再到OCSP服务器检查证书的注销状态

LDAP

虽然LDAP的目的不是用来验证证书的有效性,但也有些设备是用LDAP来验证证书的。客户端本地检查完证书的有效期,通过后再提交证书的主题信息到LDAP去查询,如果能查询到,再匹配下证书摘要是否相同,都通过后就表示此证书有效。

SCVP

服务端构建证书链并验证,服务端检查证书的注销状态


JCA证书验证架构:


JDK实现代码:http://www.docjar.com/html/api/sun/security/provider/certpath/PKIXCertPathValidator.java.html


参考资料:

“Complete CRLs with expired certs?”

http://www.ietf.org/mail-archive/web/pkix/current/msg03772.html



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值