gpt4 book ai didi

c++ - 在 libcurl ssl 请求中发送客户端证书时遇到问题,我缺少什么?

转载 作者:行者123 更新时间:2023-11-30 03:24:18 25 4
gpt4 key购买 nike

我正在尝试将客户端证书发送到需要它的网络服务器。

如果我从命令行 curl 命令发出请求,它就可以工作。我传递了 --key 文件名和 --cert 文件名,一切正常。

当我从 libcurl 库执行此操作时,我会这样做:

    curl_easy_setopt(curl, CURLOPT_SSLCERT, client_cert_file.c_str());
curl_easy_setopt(curl, CURLOPT_SSLKEY, client_key_file.c_str());

同样的事情,服务器说客户端证书丢失。

我尝试做一些事情,比如给它一个不存在的文件名,希望引发一些其他错误消息,这些错误消息可能会给我一些错误的线索,但是 libcurl(以及与此相关的命令行 curl)打开 verbose 不会产生任何错误出现问题时的消息。当然有一个失败案例,但没有任何错误让我跟进。

有什么方法可以从 libcurl 中获取更多诊断信息吗?

把我剩下的头发拉出来。

顺便说一句,这是在 Windows 10 上,我们自己构建了 libcurl。 SSL 是内置的,https 连接有效,我只是无法让它发送客户端证书,而且没有迹象表明出了什么问题。

更新:

我想我发现了我的问题......

https://curl.haxx.se/docs/todo.html#Add_support_for_client_certifica

有谁知道如何让它工作吗?

最佳答案

好吧,我想出了一些办法。

事实证明,您可以使用 openssh 或 schannel 在 Windows 上构建 libcurl。如果您使用 schannel,则 CURLOPT_SSLCERT 和 CURLOPT_SSLKEY 什么都不做。 (请注意,没有警告或错误。)也许他们确实做了一些与 schannel 相关的事情,但我找不到任何相关文档。

简而言之,如果您使用 openssl 构建 libcurl,您可以提供客户端证书以在 TLS 握手中发送。

提示在这里:

https://curl.haxx.se/docs/todo.html#Add_support_for_client_certifica

关于c++ - 在 libcurl ssl 请求中发送客户端证书时遇到问题,我缺少什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49800527/

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