Utilizando o protocolo HTTPS com PHP
Muitos desenvolvedores PHP, ao fazer a integração com destinos que utilizam HTTPS, de deparam com problemas na validação do certificado utilizado pelo destino.
É muito comum que esse problema seja simplesmente ignorado, desabilitando a verificação de SSL no curl, redefinindo a diretiva CURLOPT_SSL_VERIFYPEER para FALSE.
Isso é um erro, pois, apesar da comunicação ser realizada sem problemas, a criptografia não será realizada, deixando seus dados desprotegidos e vulneráveis à interceptação de terceiros.
Resolver esse problema de forma correta é simples. Na maioria dos casos, o que precisa ser feito é a atualização da lista de certificados raiz (CA root certificate bundle).
Algumas instalações do PHP para Windows, sequer possuem esse arquivo no pacote.
Para isso, basta realizar o download da lista atualizada, disponível em:
Com o arquivo em mãos, é só fazer o apontamento, adicionando a seguinte linha no arquivo de configurações php.ini.
curl.cainfo=c:\php\cacert.pem