En primer lugar, se mezclan tipo de archivos "Autoridad de Certificación" y archivos "certificado" que me confunde.
¿Cómo puedo añadir mi propia CA/Certificado autofirmado para que se libcurl validar con éxito?
Esto puede verse como una respuesta complementaria a la anterior. En el caso de que desee agregar una CA con firma automática (cada CA raíz está autofirmada) para que libcurl valide correctamente el certificado de un sitio web, que ha sido generado por la CA, luego continúe leyendo.
Con CURLOPT_CAINFO debe pasar el archivo "Certificate Authority" (CA) que se utilizó al generar el certificado (que no es de CA) del sitio que desea verificar.
(No sé si esta opción funciona pasándola un certificado que no sea de CA, la documentación no es muy clara al respecto, y la respuesta anterior tiene 2 votos, por lo que si alguien lo ha probado, coméntelo)
También puede pasar un archivo de cadena de autoridad de certificación que contiene la CA que se utilizó, en caso de que no fuera una CA raíz.
Aquí hay un pequeño tutorial que he encontrado que puede ayudar a probar su solución:
La creación de una entidad de certificación raíz privada: http://www.flatmtn.com/article/setting-openssl-create-certificates
Creación de un certificado de sitio: http://www.flatmtn.com/article/setting-ssl-certificates-apache
Añadir la actualización como una respuesta. Por cierto, la opción '--libcurl' curl puede generar código fuente libcurl-using (para ver qué opciones puede usar) si ya tiene un curl-comando que funciona. – jfs