Openssl-如何检查证书是否被吊销
使用OpenSSL库,如何检查对等证书是否被吊销。 我在谷歌上搜索到:Openssl-如何检查证书是否被吊销,openssl,Openssl,使用OpenSSL库,如何检查对等证书是否被吊销。 我在谷歌上搜索到: x509 Cerfit证书包含一组crl分发点,即一组URL 从这些URL下载crl crl包含已吊销证书的序列号 如果对等证书序列号在crl列表中,则该序列号将被撤销 我使用什么OpenSSL API来实现这一点?此外,这是检查证书是否被吊销的正确方法吗?检查此线程: X509_存储支持CRL处理。您可以使用PEM_read_bio_X509_CRL命令从X509证书中提取CRL,该命令未在链接中解释。不幸的是,Open
X509_存储支持CRL处理。您可以使用PEM_read_bio_X509_CRL命令从X509证书中提取CRL,该命令未在链接中解释。不幸的是,OpenSSL中的CRL验证API不是很高级,因此您需要代码自己执行许多操作 有关所需内容的简要概述:
- 从证书检索CRL URL以从CRL分发点扩展验证。OpenSSL提供了证书解析功能,但没有简单的CRL分发点访问器
- 从URL下载CRL。OpenSSL没有实现这一点,也没有实现任何形式的缓存
- 验证CRL(签名、颁发者DN、有效期、主题密钥标识符等)。OpenSSL提供了不同的底层功能
- 验证要检查的证书的序列号是否在CRL中
- 某些证书可能使用OCSP而不是CRL
- 某些证书将LDAP DNs或URL作为分发点
- 某些CRL由委托CRL签署人签署
- 增量CRL或分区CRL可能会使实现复杂化(尤其是w.r.t.缓存)
- 等等
mod_ssl
(包含在Apachehttpd
服务器中)模块,了解本地检查CRL并实现OCSP检查的实现
如果您事先知道您信任哪个CA(从安全角度来看,这样更好),那么您可以有一个cron作业来下载和更新CRL。这将避免您在程序中执行有关查找/下载/缓存CRL的部分。可能重复的