我有一个 https RESTful 端点,我使用如下命令使用 curl 进行查询:
curl -k --cert client-cert.pem:password https://[email protected]/api/vi/getinfo
在Gitbash 中,这可以工作并返回数据。
从windows 命令提示符完全相同的命令返回错误:
curl: (35) schannel: next InitiaizeSecurityContent failed: SEC_E_CERT_UNKNOWN (0x80090327) - 处理证书时发生未知错误
我的问题是:Windows 命令提示符对 Gitbash 有什么不同以使其失败?,有没有我可以改变的设置?
此错误表示您的 TLS 证书不受信任。
curl
提供了几种为 CA(证书颁发机构)捆绑包设置路径的方法。很可能Git bash
通过CURL_CA_BUNDLE
环境变量将它们设置到存储此类捆绑包的某个目录。尝试做一个echo $CURL_CA_BUNDLE
on git bash 看看是否是这种情况。如果它设置为某个路径或文件,您也可以尝试从命令行进行设置。或者只是添加一个-k
开关来忽略这些。设置这些路径和搜索顺序的所有方法都有很好的文档记录。