Guardar certificado SSL remoto a través de la línea de comandos de Linux


28

¿Se le ocurre algún método de línea de comandos de Linux para guardar el certificado presentado por un servidor HTTPS? Algo similar a tener curl / wget / openssl establece una conexión SSL y guarda el certificado en lugar del contenido de la respuesta HTTP.

La interfaz gráfica de usuario equivalente a lo que estoy buscando sería navegar hasta el sitio HTTPS, hacer doble clic en el icono del "sitio seguro" del navegador y exportar el certificado. Excepto que el objetivo aquí es hacerlo de manera no interactiva.

Gracias Jim

Respuestas:


40

Algo como:

openssl s_client -servername remote.server.net -connect remote.server.net:443 </dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' >/path/to/certificate.pem

Eso es lo que uso con fetchmail para recuperar el certificado de un servidor IMAP o POP3 con capacidad SSL (excepto que obviamente no uso el puerto 443)

(Tenga en cuenta que el -servernameparámetro "redundante" es necesario para hacer openssluna solicitud con soporte SNI).


1
¿Alguna forma de obtener la cadena completa?
Collin Anderson

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.