Il mio codice sta tentando di accedere a un server HTTPS e ha il proprio certificato. Esempio, l'IP è "10.0.1.101".Come rendere libcurl look nel portachiavi Mac per i certificati
Se si passa attraverso Safari e si accede a "http://10.0.1.101", tutto è OK. Faccio un semplice curl_easy_perform() per questo URL e i dati possono essere estratti dall'URL HTTP. Freddo.
Quindi provo ad accedere a "https://10.0.1.101" (sì, HTTPS) e da Safari, accetto il certificato e gli conferisco l'opzione "attendibilità" e successivamente, l'accesso di Safari all'URL HTTPS è OK.
Quindi il certificato è stato aggiunto al portachiavi Mac ma quando provo un curl_easy_perform() sull'URL HTTPS, viene comunque restituito con un CURLE_SSL_CACERT. libcurl non ha potuto autenticare il certificato HTTPS con certificati CA noti.
Qual è il collegamento mancante tra il controllo del certificato di libcurl e il portachiavi Mac? C'è addirittura un collegamento? È possibile creare l'aspetto di libcurl nel portachiavi Mac per i certificati? Se é cosi, come?
È possibile utilizzare l'opzione CURLOPT_CAINFO per puntare a un file portachiavi? – radj
C'è un comando 'security' nel terminale, penso che tu possa usare l'output di quel comando per ottenere la catena di fiducia. (Non sono un esperto di certificati o terminali, ho provato in una sceneggiatura e funziona con il ricciolo) –
@Marcelo Alves, grazie. Sembra un buon punto di partenza, ma se puoi, condividi i passaggi come hai fatto? – radj