SSL sem certificado

SSL sem certificado

Estou tentando criar um script bash que verificará o status SSL do cliente do meu site e retornará o erro. Mas para cada IP, wget https://$ip:$portme dá o seguinte erro:

ERROR: The certificate of 1.2.3.4 is not trusted
ERROR: The certificate of 1.2.3.4 hasn't got a know issuer

Quando tento com o Firefox tenho o certificado para cada IP. Então tentei despejar o Firefox CA em um repositório como este:

wget http://$ip:$port --ca-directory=(directory of CA from Firefox)

Mas isso não muda nada.

Acho que wgetnão encontra o certificado SSL e não sei como obtê-lo.

Como posso obter as informações do certificado?

Responder1

Normalmente, os certificados SSL são emitidos para nomes de host www.example.come não para endereços IP.
Portanto, ao usar o endereço IP, você obtém uma incompatibilidade entre o URL que está acessando e o nome do host para o qual o certificado foi emitido.

Segundo, o diretório CA do firefox pode não ser adequado, pois de acordo com a página man wget requer:

--ca-diretório=diretórioEspecifica o diretório que contém certificados de CA no formato PEM. Cada arquivo contém um certificado CA e o nome do arquivo é baseado em um valor hash derivado do certificado. ...

Acho que o wget usa as bibliotecas openssl, possivelmente tornando-o um utilitário mais detalhado para verificar o status do certificado, por exemplo, em uma consulta para determinar a data de expiração de um certificado SSL:

 echo "GET /" | openssl s_client -connect servername:port  | openssl x509 -noout -dates

informação relacionada