Por que o wget não verifica os certificados SSL?

19

Estou com um problema na instalação do Fedora 8 . Parece que wgetnão sabe mais como verificar os certificados SSL. É estranho, porque eu tenho outra caixa do Fedora 8 que acredito ter a mesma configuração e funciona!

Como posso fazê-lo funcionar sem usar o --no-check-certificateswitch?

Esta é uma saída de amostra:

wget https://www.google.com
--2011-09-23 00:11:13--  https://www.google.com/
Resolving www.google.com... 74.125.230.146, 74.125.230.147, 74.125.230.148, ...
Connecting to www.google.com|74.125.230.146|:443... connected.
ERROR: cannot verify www.google.com's certificate, issued by `/C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA':
  Unable to locally verify the issuer's authority.
To connect to www.google.com insecurely, use `--no-check-certificate'.
Unable to establish SSL connection.

EDITAR

Eu tenho esse arquivo /etc/pki/tls/certs/ca-bundle.crtarquivo e quando eu corro wgetcom --ca-certificateinterruptor apontando para este arquivo tudo correr bem. Onde esse arquivo deve ser colocado para que eu não precise usar a opção?

BTW: curle linksfunciona bem, mas lynxtambém reclama: "Erro de SSL: não é possível obter o certificado do emissor local", portanto, esse não é apenas wgeto problema ...

tomazy
fonte
4
Por que você tem uma instalação do Fedora 8?
Ignacio Vazquez-Abrams
1
O Fedora 9, 10, 11, 12 e 13 não é mais suportado.
ceejayoz
Estou ciente de que este é um sistema operacional antigo que não é mais suportado, mas espero que esse seja apenas algum tipo de problema de configuração que possa ser facilmente resolvido por alguém com experiência, para que eu não precise atualizar todo o sistema.
tomazy 23/09/11
qual é a versão do wget que você está usando?
SparX
GNU Wget 1.11.1 (Red Hat modificado)
tomazy

Respostas:

11

Por padrão, o wget irá verificar se há certificados no caminho definido no arquivo openssl conf /etc/pki/tls/openssl.cnf (não há certeza se o caminho está correto para o fc8). Por favor, verifique o arquivo de configuração openssl e confirme se os caminhos estão corretos. Pode ser que seja openssl, que precisa ser corrigido.

SparX
fonte
Houve um problema com o arquivo openssl - cert.pem ausente no / etc / pki / tls. Obrigado
tomazy
5

Seu sistema não confia na cadeia de assinaturas do certificado do Google.

Eles também não estão apresentando a cadeia completa de certificados, apenas o certificado do emissor; não 100%, mas certamente nada que o impeça de validar a cadeia.

É provável que seu sistema antigo tenha um conjunto igualmente antigo de autoridades de certificação raiz confiáveis.

Confie no certificado VeriSign correto ( aqui ) e você deve ser bom.

Shane Madden
fonte
Como exatamente "confio" no certificado VeriSign?
precisa
Provavelmente precisa ser colocado /etc/ssl/certs.
Shane Madden
Este dir não existia, mas eu o criei e copiou os arquivos cert - Não ajudou :(
tomazy
Não tenho certeza de onde o diretório de certificados está localizado nesse SO, então. greppor aí!
Shane Madden
4

Você precisa reunir uma lista dos certificados raiz nos quais deseja confiar e informar wgetcomo encontrá-los usando a opção --ca-certificateou --ca-directory. Você já pode ter um /etc/pki/tls/certsse tiver o pacote apropriado instalado.

David Schwartz
fonte
3

Eu tive problemas com o wget não encontrando meus certificados, então instalei os certificados ca

sudo apt install ca-certificates

então eu editei:

sudo vi /etc/wgetrc

e acrescentou

ca_directory=/etc/ssl/certs

ou você pode simplesmente usar este comando para anexá-lo ao final:

printf "\nca_directory=/etc/ssl/certs" | sudo tee -a /etc/wgetrc
Jared
fonte
alternativamente, funcionou para mim se eu usasse, wget https://myurl --ca-directory=/etc/ssl/certs/mas não quero digitar isso toda vez, ninguém tem tempo para isso ;-)
Jared