Saltar al contenido

¿Cómo descargar el certificado SSL de un sitio web?

Haz todo lo posible por interpretar el código bien previamente a adaptarlo a tu proyecto si ttienes algo que aportar puedes compartirlo con nosotros.

Solución:

Solución 1:

Para descargar el certificado, debe usar el cliente integrado en openssl de la siguiente manera:

echo -n | openssl s_client -connect HOST:PORTNUMBER 
    | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /tmp/$SERVERNAME.cert

Eso guardará el certificado en /tmp/$SERVERNAME.cert.

Puedes usar -showcerts si desea descargar todos los certificados de la cadena. Pero si solo desea descargar el certificado del servidor, no es necesario especificar -showcerts

echo -n da una respuesta al servidor, para que se libere la conexión

sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' elimina información sobre la cadena de certificados y los detalles de conexión. Este es el formato preferido para importar el certificado a otros almacenes de claves.

Solución 2:

Encontré la respuesta. Openssl lo proporciona.

openssl s_client -conectar $REMHOST:$REMPORT


Solución 3:

La herramienta de cliente GNUTLS, gnutls-clitambién puede hacer esto fácil:

gnutls-cli --print-cert www.example.com 
        < /dev/null 
        > www.example.com.certs

El programa está diseñado para proporcionar un cliente interactivo al sitio, por lo que debe darle una entrada vacía (en este ejemplo, desde /dev/null) para finalizar la sesión interactiva.


Solución 4:

true | openssl s_client -connect google.com:443 2>/dev/null | openssl x509

este modo de openssl espera stdin, por lo que lo proporcionamos a través de true |esto se conecta al servidor especificado en el parámetro -connect. 2>/dev/null silencia los errores (opcional), podemos pasar toda la salida al analizador x509, especificando /dev/stdin para usar la tubería de shell como el archivo de entrada. Y eso generará solo el -----BEGIN CERTIFICATE----- a -----END CERTIFICATE----- parte de la s_client producción. Puede redirigir eso a un archivo agregando > google.com.pem hasta el final del comando.


Lo mejor que puedo decir es que esto no verifica la cadena de certificados, solo puede decirle qué identidad SSL proporciona el servidor final.


Solución 5:

basado en la respuesta de @bignose, aquí hay una versión independiente que encaja bien, por ejemplo, en una receta de chef:

sudo apt-get install gnutls-bin 
gnutls-cli --print-cert myserver.com  myserver.crt
sudo cp myserver.crt /usr/local/share/ca-certificates/myserver.crt
sudo update-ca-certificates

Más adelante puedes encontrar los informes de otros desarrolladores, tú igualmente tienes la habilidad dejar el tuyo si lo crees conveniente.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *