gpt4 book ai didi

c - SSL_CTX_set_verify() 回调和当前深度

转载 作者:太空宇宙 更新时间:2023-11-03 12:59:11 24 4
gpt4 key购买 nike

我正在用 C 语言为 SSL_CTX_set_verify() 编写自己的回调函数执行额外的证书检查(当 preverify_ok 参数为 1 时)。但是,我想对叶证书(深度 = 0)执行检查。

函数X509_STORE_CTX_get_error_depth()得到错误的深度;但是即使没有错误我也想要当前深度,所以我只能在深度=0时执行额外的检查。 (请注意,函数 SSL_CTX_get_verify_depth() 返回深度 limit 并且不是当前深度。)

有什么办法可以做我想做的事吗?

最佳答案

不管名称如何,在验证过程中 error_depth 确实是当前正在检查的证书。请参阅 crypto/x509/x509_vfy.cinternal_verify 中的 while 循环。如果回调或任何内置检查——这里是签名或过期,在 X509_verify_cert 吊销、策略等其他地方——确定证书是坏的,验证逻辑返回 error_depth 留在导致验证返回的证书上,随后来自“上面”的调用找到标识“错误”证书的值。

关于c - SSL_CTX_set_verify() 回调和当前深度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33248180/

24 4 0