我的代码试图访问一个HTTPS服务器,并且它有自己的证书。例如,IP为“10.0.1.101”。
如果我通过Safari访问“http://10.0.1.101”,一切正常。我尝试使用curl_easy_perform()访问此URL,数据可以从HTTP URL中提取。很好。
然后,我尝试访问“https://10.0.1.101”(是的,是HTTPS),并且在Safari中,我接受证书并给出“信任”选项,之后,Safari可以访问HTTPS URL。
因此,证书已添加到Mac Keychain中,但是当我在HTTPS URL上尝试使用curl_easy_perform()时,它仍会返回CURLE_SSL_CACERT。libcurl无法使用已知的CA证书验证HTTPS证书。
libcurl证书检查与Mac Keychain之间缺少什么联系?是否存在联系?是否可以使libcurl查找Mac Keychain中的证书?如果可以,如何操作?
security
命令,我认为你可以使用该命令的输出来获取信任链。(我不是证书或终端专家,在脚本中尝试过并且与 curl 一起使用可以正常工作) - Marcelo Alves