gpt4 book ai didi

使用 libcurl 进行自定义 SSL 证书验证

转载 作者:行者123 更新时间:2023-12-04 22:43:10 27 4
gpt4 key购买 nike

我需要 libcurl 来接受自签名证书,但我不希望它们被盲目接受。在允许连接继续之前,我需要能够验证证书是预期的自签名证书。
在 .NET 中,这是通过使用 SslStream 或 HttpWebRequest 设置 RemoteCertificateValidationCallback 来完成的。回调提供证书,并且可以进行检查以验证预期的详细信息。如果您想知道,我有一种将证书详细信息分发给需要它们的代理的安全方法。
使用 libcurl,最接近 SSL 回调的是 CURLOPT_SSL_CTX_FUNCTION 但是文档状态:

This callback function gets called by libcurl just before the initialization of an SSL connection after having processed all other SSL related options to give a last chance to an application to modify the behavior of the SSL initialization.


这意味着在进行实际 SSL 连接之前调用回调,这意味着尚未收到证书以进行验证。除非我误解了我可以在那个回调中做什么,有没有办法用 libcurl 进行我自己的 SSL 验证?

最佳答案

@0xdeadbeef 您可以使用 SSL 回调。在那里,您将收到 SSL_CTX*。使用此指针更改默认的“验证”函数并将其指向您自己的“验证”方法。您需要使用 SSL_CTX_set_verify。 ['https://www.openssl.org/docs/man1.0.2/man3/SSL_CTX_set_verify.html']

关于使用 libcurl 进行自定义 SSL 证书验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62838677/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com