首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将cURL配置为在Windows上使用默认系统证书存储

将cURL配置为在Windows上使用默认系统证书存储
EN

Stack Overflow用户
提问于 2016-05-31 16:47:59
回答 2查看 21.8K关注 0票数 15

我有一个使用libcurl-4 dll的命令行应用程序,目前我可以通过将CA证书放在我的工作目录中并将它们的名称传递给CUTLOPT_CAINFOCURLOPT_SSLCERT,并在它们的名称中加上./前缀来实现所有的工作。

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

通过阅读cURL的文档,我了解到如果您没有给出指定的默认ca-bundleca-path配置它,ti将“自动检测一个设置”。

默认情况下,CURLOPT_CAINFO设置为“内置系统特定的”。

有谁能帮我理解:

  1. 如果在配置时没有使用curl指定任何内容,那么它是否检测到系统存储的默认路径?还是curl为系统存储使用了自己的路径?
  2. 您给curl_easy_setopt(m_curlHandle, CURLOPT_CAINFO, *<value> )什么值使CURLOPT_CAINFO使用它的默认值?

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

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-31 18:59:41

OpenSSL不支持使用Windows本身拥有的"CA证书存储“。如果您希望您的curl构建使用该cert存储,则需要重新构建curl以替代使用schannel后端(也称为"winssl"),这是默认也使用Windows证书存储的Windows本机版本。

如果您决定继续使用OpenSSL,那么您必须在PEM文件或巧尽心思构建的目录中提供CA证书,因为Windows没有使用这种格式提供系统存储,所以您必须从某个地方获得一个合适的存储,或者研究如何将Windows存储转换为PEM格式。

更新

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

票数 18
EN

Stack Overflow用户

发布于 2020-05-07 04:56:48

自2018年4月起,对于想要使用Windows命令行下载文件的人,可以使用Curl.exe可执行文件。在Windows10Build 17063及更高版本中,包含了Curl ,以便您可以直接从Cmd.exePowerShell.exe执行它。

代码语言:javascript
复制
curl.exe -V
curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL
Release-Date: [unreleased]
Protocols: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp 
Features: AsynchDNS IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL 

要小心使用PowerShell Cmdlet Invoke-WebRequest被命名为curl,因此取消这个CmdLet (Remove-item alias:curl)的别名或显式使用curl.exe。

据我所知,curl.exe是用Schannel (微软的本地TLS引擎)构建的,然后libcurl仍然执行对等证书验证,但是它使用的不是CA证书包,而是使用内置到操作系统中的证书。

代码语言:javascript
复制
curl.exe  "https://www.7-zip.org/a/7z1805-x64.exe"  --output c:\temp\7zip.exe
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1404k  100 1404k    0     0  1404k      0  0:00:01 --:--:--  0:00:01 9002k
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37551409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档