Mi código está intentando acceder a un servidor HTTPS y tiene su propio certificado. Ejemplo, la IP es "10.0.1.101".Cómo hacer que se vea libcurl en el Mac Llavero para certificados
Si voy a Safari y tengo acceso a "http://10.0.1.101", todo está bien. Hago un simple curl_easy_perform() para esta URL y los datos se pueden extraer de la URL HTTP. Guay.
Intento acceder a "https://10.0.1.101" (sí, HTTPS) y desde Safari, acepto el certificado y le doy la opción de "confianza" y después de eso, el acceso de Safari a la URL de HTTPS es DE ACUERDO.
El certificado se ha agregado al Mac Keychain pero cuando pruebo un curl_easy_perform() en el URL HTTPS, todavía devuelve un CURLE_SSL_CACERT. libcurl no pudo autenticar el certificado HTTPS con certificados de CA conocidos.
¿Cuál es el eslabón perdido entre la verificación de certificados de libcurl y Mac Keychain? ¿Hay incluso un enlace? ¿Es posible hacer que libcurl busque en Mac Keychain para certificados? ¿Si es así, cómo?
¿Podemos usar la opción CURLOPT_CAINFO para apuntar a un archivo de llavero? – radj
Hay un comando 'security' en la terminal, creo que puede usar el resultado de ese comando para obtener la cadena de confianza. (No soy un certificado o un experto en terminales, intenté en un guión y funciona con curl) –
@Marcelo Alves, gracias. Parece un buen punto de partida, pero si puedes, ¿vas a compartir los pasos de cómo lo hiciste? – radj