使用 Gitbash 与 Windows 命令提示符时不同的 curl 响应

使用 Gitbash 与 Windows 命令提示符时不同的 curl 响应

我有一个 https restful 端点,我使用如下命令通过 curl 进行查询:

curl -k --cert 客户端证书.pem:密码 https://[电子邮件保护]/api/vi/获取信息

吉特巴什它有效并返回数据。

Windows 命令提示符完全相同的命令返回错误:

curl:(35)schannel:下一个 InitiaizeSecurityContent 失败:SEC_E_CERT_UNKNOWN(0x80090327) - 处理证书时发生未知错误

我的问题是:Windows 命令提示符与 Gitbash 做了什么不同的事情导致此操作失败?,​​是否有我可以更改的设置?

答案1

此错误意味着您的 TLS 证书不受信任。curl提供了几种设置 CA(证书颁发机构)包路径的方法。最有可能Git bash通过环境变量将它们设置CURL_CA_BUNDLE为存储此类包包的某个目录。尝试echo $CURL_CA_BUNDLE在 git bash 上执行操作以查看是否是这种情况。如果它设置为某个路径或文件,您也可以尝试从命令行进行设置。或者只需添加一个-k开关来忽略它们。

设置这些路径和搜索顺序的所有方法都是记录得很好

相关内容