.O que fazer quando o Ubuntu 14.04 LTS curl não suporta um certificado de CA, mesmo que seja válido

2

No Ubuntu 14.04, estou tentando fazer isso curl https://api.the-newshub.com/api/1/topics/trending/top . Não está funcionando, mas funciona quando você visita o Firefox.

Eu atualizei os certificados: sudo apt-get install --reinstall ca-certificates e update-ca-certificates -f . Ainda nada.

Com que frequência os certificados de CA nativos do Ubuntu são atualizados? Com que frequência novos certificados aparecem?

O que há de errado se você realmente precisa acessar esse URL? Mas você não controla o domínio? Mas a verificação por SSL é obrigatória.

    
por CMCDragonkai 10.12.2015 / 22:22

1 resposta

1

Curling isso funciona para mim, mas aqui estão duas coisas que você pode fazer (tiradas de man curl ):

  1. No Firefox, selecione Opções , então Avançado , em seguida, a guia Criptografia , Ver Certificados . Isso abre o Gerenciador de certificados, onde você pode Exportar . Certifique-se de selecionar PEM para "Salvar como tipo".

    Digamos que você coloque seu certificado em ~/cert.pem e, em seguida, use:

    curl -E ~/cert.pem https://api.the-newshub.com/api/1/topics/trending/top
    
  2. Muitos servidores SSL antigos têm problemas com SSLv3 ou TLS, que versões mais recentes do OpenSSL etc. usam, portanto, às vezes é útil especificar o que a curva de versão SSL deve usar. Use -3, -2 ou -1 para especificar a versão SSL exata a ser usada (para SSLv3, SSLv2 ou TLSv1, respectivamente):

    curl -2 https://api.the-newshub.com/api/1/topics/trending/top
    

    Caso contrário, o curl primeiro tentará usar a v3 e depois a v2.

    OBSERVAÇÃO: seu site parece usar o SSLv3 de acordo com seu certificado, então esta segunda ideia é provavelmente inútil.

  3. ( source , cerca de 10,04) Eu tenho tido o mesmo problema e depois de bisbilhotar um pouco descobri que você pode baixar um pacote de CA-certs pronto para enrolar no Ubuntu diretamente do site de desenvolvimento do curl.

    cd /etc/ssl/certs
    sudo wget http://curl.haxx.se/ca/cacert.pem
    

    Agora o curl usa o pacote mais atualizado e você está pronto para usar.

por MrVaykadji 11.12.2015 / 01:53