Tente substituir CURLOPT_CAINFO por CURLOPT_CAPATH.
E também dê uma olhada na opção SSLCERT.
No Redhat Linux, em um script PHP eu estou configurando as opções cURL da seguinte forma:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, True);
curl_setopt($ch, CURLOPT_CAINFO, '/home/andrew/share/cacert.pem');
Ainda estou recebendo essa exceção ao tentar enviar dados
(curl error: 77) error setting certificate verify locations:
CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
Por que está procurando o arquivo CA em /etc/pki/tls/certs/ca-bundle.crt
? Não sei de onde esta pasta está vindo, pois não a defino em lugar nenhum.
Não deveria estar procurando no lugar que eu especifiquei, /home/andrew/share/cacert.pem
? Eu não tenho permissão de gravação /etc/
então simplesmente copiar o arquivo não é uma opção. Eu estou sentindo falta de alguma outra opção de onda que eu deveria estar usando?
(Isso é na hospedagem compartilhada - é possível que esteja me impedindo de definir um caminho diferente para o CAfile?)