2010-01-18 07:43:44 +0000 2010-01-18 07:43:44 +0000
342
342

Cómo guardar un certificado SSL de un servidor remoto localmente como un archivo

Necesito descargar un certificado SSL de un servidor remoto (no HTTPS, pero el saludo SSL debería ser el mismo que el de Google Chrome / IE / wget y curl, todos dan errores de comprobación de certificados) y añadir el certificado como fiable en el almacén de certificados de Windows de mis portátiles, ya que no consigo que mis informáticos me den el certificado de CA.

Esto es para comunicaciones de oficina, por lo que no puedo usar el cliente real para obtener el certificado.

¿Cómo lo hago? Tengo Windows 7 y un montón de Linux a mano, por lo que cualquier herramienta / lenguaje de scripting está bien.

Respuestas (8)

333
333
333
2010-08-17 07:20:51 +0000

Si tiene acceso a OpenSSL, intente

openssl s_client -connect {HOSTNAME}:{PORT} -showcerts

reemplazando {Apellido} y {Puerto} con lo que sean sus valores.

264
264
264
2013-09-05 13:47:29 +0000

Un método rápido para obtener el certificado y descargarlo sería ejecutar el siguiente comando que canaliza la salida de los -showcerts al comando x509 ssl que simplemente quita todo lo extraño. Por ejemplo:

openssl s_client -showcerts -connect server.edu:443 </dev/null 2>/dev/null|openssl x509 -outform PEM >mycertfile.pem

Para usar el certificado, con wget,

wget https:/server.edu:443/somepage --ca-certificate=mycertfile.pem
128
128
128
2010-01-18 07:56:49 +0000

Para ser honesto, nunca he intentado esto antes (nunca lo necesité) sin embargo, acabo de intentarlo en Firefox y parece funcionar para salvar:

  1. Haz clic en el icono del certificado SSL en la parte superior / Candado en la parte inferior.
  2. Haz clic en View Certificate
  3. Haz clic en la pestaña Details
  4. Elija el certificado que desee de la jerarquía [no está marcado con un círculo en la imagen]
  5. Haga clic en Export

52
52
52
2016-12-26 18:45:38 +0000

Exportar un certificado usando el navegador Chrome

  1. Conéctese al sitio web usando SSL https://whatever )

2. Haga clic en el símbolo del candado y luego en Detalles

  1. Esto te dará una Reseña de Seguridad con un botón Ver certificado.

  2. Pulsa el botón Ver certificado.

  3. Para exportar un certificado:

20
20
20
2012-10-18 22:10:10 +0000

Esta es la respuesta de gbroiles , pero quería señalar que el proyecto cURL tiene una página con algunos detalles más sobre el uso de openssl para guardar el certificado SSL del servidor remoto:

  • openssl s\_client -connect {HOSTNAME}:{PORT} | tee logfile
  • Teclea QUIT y pulsa la tecla Enter / Return.
  • El certificado aparecerá entre los marcadores “BEGIN CERTIFICATE” y “END CERTIFICATE”.
  • Si quiere ver los datos del certificado, puede usar:
16
16
16
2018-01-25 15:59:26 +0000

automatizado

-nombre de servidor fue requerido para que yo obtuviera el certificado correcto del host virtual en nuestro servidor.

openssl s_client -showcerts -connect host.name.com:443 -servername host.name.com </dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > host.name.com.pem

también puede convertirlo en un certificado para el escritorio

openssl x509 -inform PEM -in host.name.com.pem -outform DER -out host.name.com.cer

la última parte es agregarlo a sus certificados, no estoy seguro de que en Windows para el llavero de Mac que usé, deba ser similar…

sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain host.name.com.cer

2
2
2
2017-05-23 01:20:39 +0000

Esto dará los resultados que contienen los certificados sólo

echo QUIT | \
openssl s_client -showcerts -connect hostname:port | \
awk '/-----BEGIN CERTIFICATE-----/ {p=1}; p; /-----END CERTIFICATE-----/ {p=0}' "
0
0
0
2019-05-03 13:19:15 +0000

Encontré una manera mucho más fácil si en Windows. Probé con Microsoft Edge (pre-cromo) y hice clic en el candado de la barra de direcciones -> Ver certificado El diálogo aparece con un botón “Exportar a archivo”, que lo guarda como un archivo .crt.

No es mucho para lo que usaría Edge, pero esto fue pan comido.