callback - SSL_CTX_set_cert_verify_callback 与 SSL_CTX_set_verify

标签 callback openssl ssl handshaking

谁能告诉我 SSL_CTX_set_cert_verify_callback 和 SSL_CTX_set_verify 有什么区别? 来自 OpenSSL 文档:

SSL_CTX_set_cert_verify_callback() sets the verification callback function for ctx. SSL objects that are created from ctx inherit the setting valid at the time when SSL_new(3) is called.

和:

SSL_CTX_set_verify() sets the verification flags for ctx to be mode and specifies the verify_callback function to be used. If no callback function shall be specified, the NULL pointer can be used for verify_callback.

所以我试图了解为每个回调发送哪个回调(从客户端)。

感谢专家。

最佳答案

SSL_CTX_set_cert_verify_callback() 意味着您要指定一个函数来执行整个验证过程(遍历证书链依次验证每个证书)。 [根据下面的警告,您可能不想这样做]

另一方面,SSL_CTX_set_verify() 指定默认验证器检查每个证书时调用的函数,preverify_ok 设置为 0 或 1 以指示相关证书的验证是否有效。

来自 SSL_CTX_set_cert_verify_callback() 的文档

WARNINGS

Do not mix the verification callback described in this function with the verify_callback function called during the verification process. The latter is set using the SSL_CTX_set_verify(3) family of functions.

Providing a complete verification procedure including certificate purpose settings etc is a complex task. The built-in procedure is quite powerful and in most cases it should be sufficient to modify its behaviour using the verify_callback function.

关于callback - SSL_CTX_set_cert_verify_callback 与 SSL_CTX_set_verify,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2729254/

相关文章:

ssl - Elasticsearch 异常 - 打开发行版警报

actionscript-3 - 在 AS3/Flash 中,URL 请求/加载程序可以在不指定 http 或 https 协议(protocol)的情况下使用 "//"吗?

使用回调的 JavaScript 异步填充条

javascript - 使用 Jasmine 进行异步回调测试

ruby-on-rails - 在 Rails 模型中,如果表不存在,我们可以不保存项目吗?

c++ - 在我的 https 服务器中禁用 DES

linux - 如何在 Linux 上使用 TPM 实现平台许可证 "dongle"?

perl - 对于 openssl,无法使用 Net::SSLeay 获得任何结果

security - 为什么有人会使用 Heroku(与安全相关)?

c++ - C++ 中安全异步回调的模式