gpt4 book ai didi

ssl - 配置 cURL 以在 Windows 上使用默认系统证书存储

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

我有一个命令行应用程序正在使用 libcurl-4 dll,目前我可以通过将我的 CA 证书放在我的工作目录中并将它们的名称传递给 CUTLOPT_CAINFO 来使一切正常工作。和 CURLOPT_SSLCERT./他们名字的前缀。

但是,我正在做的是让 cURL 不使用当前目录中的内容,而是使用存储在我的计算机系统存储中的证书。

通过阅读 cURL 的文档,我了解到,如果您在未提供指定默认值的情况下配置它 ca-bundleca-path它将“自动检测设置”。

而且 CURLOPT_CAINFO默认设置为“内置系统特定”

所以任何人都可以帮助我理解:

  1. 如果在配置 curl 时未指定任何内容,它会检测系统存储的默认路径吗?或者 curl 是否使用它自己的系统存储路径?

  2. 你给什么值curl_easy_setopt(m_curlHandle, CURLOPT_CAINFO, <value>)制作CURLOPT_CAINFO去使用它的默认值?

感谢任何帮助,因为我仍在学习这一切是如何工作的。

谢谢。

最佳答案

OpenSSL 不支持使用 Windows 自带的“CA 证书库”。如果您希望 curl 构建使用该证书存储,则需要重建 curl 以改为使用 schannel 后端(也称为“winssl”),这是默认情况下也使用 Windows 证书存储的 Windows native 版本。

如果您决定继续使用 OpenSSL,您必须简单地在 PEM 文件或特制目录中提供 CA 证书,因为 Windows 不提供使用该格式的系统存储,您必须从某个地方获得合适的存储或弄清楚如何将 Windows 证书存储转换为 PEM 格式。

更新

从 libcurl 7.71.0 开始,定于 2020 年 6 月 24 日发布,它将能够在构建为使用 OpenSSL 时使用 Windows CA 证书存储。然后您需要使用 CURLOPT_SSL_OPTIONS选项并在位掩码中设置正确的位:CURLSSLOPT_NATIVE_CA。

关于ssl - 配置 cURL 以在 Windows 上使用默认系统证书存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37551409/

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