SSL sin certificado

SSL sin certificado

Estoy intentando crear un script bash que verifique el estado SSL del cliente de mi sitio web y devuelva el error. Pero por cada IP wget https://$ip:$portme da el siguiente error:

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

Cuando pruebo con Firefox tengo el certificado de cada IP. Así que intenté volcar la CA de Firefox en un repositorio como este:

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

Pero eso no cambia nada.

Creo que wgetno encuentro el certificado SSL y no sé cómo obtenerlo.

¿Cómo puedo obtener la información del certificado?

Respuesta1

Normalmente, los certificados SSL se emiten para nombres de host similares www.example.comy no para direcciones IP.
Por lo tanto, cuando utiliza la dirección IP, obtiene una discrepancia entre la URL a la que accede y el nombre de host para el que se emitió el certificado.

En segundo lugar, es posible que el directorio CA de Firefox no sea adecuado, ya que, según la página de manual, wget requiere:

--ca-directory=directorioEspecifica el directorio que contiene certificados de CA en formato PEM. Cada archivo contiene un certificado de CA y el nombre del archivo se basa en un valor hash derivado del certificado. ...

Creo que wget usa las bibliotecas openssl, lo que posiblemente la convierta en una utilidad más detallada para verificar el estado del certificado, por ejemplo en una consulta para determinar la fecha de vencimiento de un certificado SSL:

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

información relacionada