Na nossa empresa, eles impõem um proxy da web que interrompe as conexões SSL e substitui o certificado pelo seu próprio certificado falso. (Para ser preciso, ele usa um certificado de proxy assinado pelo certificado da empresa.)
Para fazer o download de um URL https, preciso fazer com que meu sistema confie nesse certificado falso (ou desative a verificação de certificado).
Por isso, adicionei o certificado de proxy e o certificado de empresa a /etc/ssl/certs/ca-bundle.crt
e /etc/ssl/certs/ca-certificates.crt
. (Ambos link para o mesmo arquivo.)
Agora, o download com wget
funciona bem, mas o download com curl
não funciona, porque curl
não pode verificar o certificado:
* Rebuilt URL to: https://company.net/
* Hostname was NOT found in DNS cache
* Trying 172.18.111.111...
* Connected to 172.18.111.111 (172.18.111.111) port 3128 (#0)
* Establish HTTP proxy tunnel to company.net:443
> CONNECT company.net:443 HTTP/1.1
> Host: company.net:443
> User-Agent: curl/7.39.0
> Proxy-Connection: Keep-Alive
>
< HTTP/1.1 200 Connection established
<
* Proxy replied OK to CONNECT request
* successfully set certificate verify locations:
* CAfile: /etc/ssl/certs/ca-bundle.crt
CApath: none
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS alert, Server hello (2):
* SSL certificate problem: self signed certificate in certificate chain
* Closing connection 0
curl: (60) SSL certificate problem: self signed certificate in certificate chain
O que pode estar errado? Como posso depurar mais?