我有一个 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
开关来忽略它们。
设置这些路径和搜索顺序的所有方法都是记录得很好。