Utilizando o protocolo HTTPS com PHP

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:

http://curl.haxx.se/docs/caextract.html

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