Para verificar se o certificado do google.com foi revogado, tentei o seguinte comando:
curl https://www.google.com --cacert GeoTrust_Global_CA.pem --crlfile gtglobal.pem -v
, mas recebi o temido erro "problema de certificado SSL":
* About to connect() to www.google.com port 443 (#0)
* Trying 81.24.29.91... connected
* successfully set certificate verify locations:
* CAfile: GeoTrust_Global_CA.pem
CApath: /etc/ssl/certs
* successfully load CRL file:
* CRLfile: gtglobal.pem
* 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, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
* Closing connection #0
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html
Acho que esse erro não está correto, pois o Google deve ter um certificado válido.
Você sabe como eu poderia emitir um comando curl que faz isso corretamente?
Mais detalhes
Se você está se perguntando por que usei esses arquivos específicos (GeoTrust_Global_CA.pem e gtglobal.pem) no comando curl, é assim que procedi:
- Analisei primeiro o que a CA emitiu o certificado para https://www.google.com . Acontece que é a GeoTrust Global CA;
- Fiz o download do certificado raiz da CA Global GeoTrust a partir daqui (este é o arquivo GeoTrust_Global_CA.pem);
- Eu baixei a CRL correspondente (lista de revogação de certificados) aqui (este é o arquivo gtglobal.pem).