我正在寻找将吊销列表与 OpenSSL 库一起使用的方法,并根据此声明(https://www.ibm.com/docs/en/ztpf/2020?topic=apis-ssl-ctx-load-verify -locations)我应该使用 SSL_CTX_load_verify_locations(...)。
您可以使用此功能来验证从远程应用程序收到的证书。如果存在证书吊销列表 (CRL),也会加载。
但是,当我阅读 SSL_CTX_load_verify_locations 的手册页时,没有提到撤销列表(https://www.openssl.org/docs/man3.2/man3/SSL_CTX_load_verify_locations.html)。我想知道如何将此函数与撤销列表一起使用,最好是一些示例代码来开始。
对于 CAfile,只需将相关 CRL 与证书一起包含在文件中即可。
对于 CApath,每个 CRL 必须位于一个以 CA 名称的哈希加上后缀命名(通常通过符号链接)的文件中,如“其自己的手册页”中所述(现在)(以前这是在验证的手册页中)子命令最初只是 verify(1ssl),然后是 openssl-verify(1ssl)) ——除了 CRL 的后缀是 .r0 .r1
等而不仅仅是
.0 .1
;这在 rehash 手册页中有记录,或者至少提到过。 请记住,OpenSSL 证书验证默认情况下不会执行任何 CRL 检查。要检查 SSL/TLS 对等点的证书/链,您需要在
X509_VERIFY_PARAM
SSL_[CTX_]set1_param
;对于程序中其他地方验证的证书,您需要在适用的 X509_STORE
或 X509_STORE_CTX
中设置此参数。