我的代碼正試圖訪問HTTPS服務器,並且它有自己的證書。例如,IP是「10.0.1.101」。如何在Mac Keychain中使用libcurl查看證書
如果我瀏覽Safari並訪問「http://10.0.1.101」,一切都OK。我爲這個URL做了一個簡單的curl_easy_perform(),並且可以從HTTP URL中獲取數據。涼。
然後我嘗試訪問「https://10.0.1.101」(是,HTTPS),並從Safari中接受證書並給它一個「信任」選項,之後,Safari訪問HTTPS URL爲好。
因此,證書已被添加到Mac鑰匙串,但是當我在HTTPS URL上嘗試curl_easy_perform()時,它仍然返回CURLE_SSL_CACERT。 libcurl無法使用已知的CA證書對HTTPS證書進行身份驗證。
libcurl的證書檢查和Mac Keychain之間缺失的鏈接是什麼?甚至有鏈接嗎?是否有可能讓libcurl查看證書的Mac Keychain?如果是這樣,怎麼樣?
我們可以使用CURLOPT_CAINFO選項指向鑰匙串文件嗎? – radj
在終端有一個'security'命令,我想你可以使用該命令的輸出來獲得信任鏈。 (我不是一個證書或終端專家,在腳本中試過,它可以用捲曲工作) –
@Marcelo Alves,謝謝。它看起來是一個很好的起點,但是如果可以的話,你會分享你如何做到的步驟嗎? – radj