Instalando um certificado intermediário no Debian 8 para conexões curl/openssl.

Instalando um certificado intermediário no Debian 8 para conexões curl/openssl.

Estou tentando entrar em contato com um URL através do comando stream_socket_client() do php, que está falhando sem nenhum código de erro ou mensagem. Isso usa openssl, curl ou algo mais? O site usa https e funciona bem em um navegador da web.

insira a descrição da imagem aqui

Quando chamo o openssl diretamente, ele se conecta, mas parece infeliz com minha cadeia de certificados.

root@drupal7 drupal7/includes# openssl s_client -connect test.cgps.org:443
CONNECTED(00000003)
Verify return code: 21 (unable to verify the first certificate)

O mesmo com onda

curl https://test.cgps.org/?q=/admin/config/search/clean-urls/check
curl: (60) SSL certificate problem: unable to get local issuer certificate

Então percebi que precisava instalar o certificado intermediário no Linux, o que fiz colocando o mesmo certificado intermediário que o Apache usa em /usr/local/share/ca-certificates e executando update-ca-certificates.

root@drupal7 drupal7/includes# update-ca-certificates
Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d....done.

Ainda sem sorte...

informação relacionada