cURL não reconhece certificado

3

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?

    
por michas 06.03.2015 / 13:15

0 respostas