Necesito descargar un certificado SSL de un servidor remoto (no HTTPS, pero el protocolo de enlace SSL debe ser el mismo que Google Chrome / IE / wget y curl todos dan errores de verificación de certificado) y agregar el certificado como confiable en mis computadoras portátiles Windows ' tienda de certificados ya que no puedo hacer que mis chicos de TI me den el certificado de CA.
esto es para comunicaciones de oficina, así que realmente no puedo usar el cliente real para obtener el certificado.
¿Cómo hago esto? Tengo Windows 7 y un montón de Linux a mano, por lo que cualquier herramienta / lenguaje de script está bien.
ssl
certificate
Kimvais
fuente
fuente
Respuestas:
Si tiene acceso a OpenSSL, intente
reemplazando {HOSTNAME} y {PORT} con cualquiera de sus valores.
fuente
-servername
opción de obtener el certificado de host virtual. gist.github.com/Artistan/5219484efb2fe51cd064175b3d0d5971Un método rápido para obtener y descargar el certificado sería ejecutar el siguiente comando que canaliza la salida de -showcerts al comando x509 ssl que simplemente elimina todo lo extraño. Por ejemplo:
Para usar el certificado, con wget,
fuente
openssl s_client -showcerts
muestra todos los certificados en la cadena recibida (si la conexión se realiza correctamente), pero la conexiónopenssl x509
solo toma la primera y descarta el resto. Para obtener todos ellos, use...| sed -n '/^-----BEGIN CERT/,/^-----END CERT/p'
o...| awk '/^-----BEGIN CERT/,/^-----END CERT/'
también puede usar un poco más complicadoawk
para poner cada certificado en un archivo separado que los hace más fáciles de usaropenssl
y algunas otras herramientas.index.html
=>HTTP request sent, awaiting response... 200 OK Length: unspecified [text/html] Saving to: ‘index.html.1’
Para ser honesto, nunca he intentado esto antes (nunca lo he necesitado), sin embargo, acabo de intentarlo en Firefox y parece funcionar para guardar:
View Certificate
Details
pestañaExport
fuente
Exportar un certificado usando el navegador Chrome
2. Haga clic en el símbolo del candado y luego haga clic en DetallesDesde Chrome versión 56, usted hace lo siguiente: vaya al menú Tres puntos -> Más herramientas -> Herramientas para desarrolladores, luego haga clic en la pestaña Seguridad. Esto le dará una Descripción general de seguridad con un botón Ver certificado .
Haga clic en el botón Ver certificado .
Se abrirá una ventana modal. Tiene dos paneles. El superior muestra la jerarquía de confianza del certificado del sitio (el último en la lista), los certificados intermedios y el certificado raíz (el superior).
El segundo panel, más grande, muestra los detalles de uno de los certificados.
Puede haber cero o más certificados intermedios.
Tenga en cuenta que el certificado raíz tiene un icono con borde dorado. Los otros tienen un borde azul.
Vea la captura de pantalla a continuación.
Para exportar un certificado:
fuente
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
openssl
para guardar el certificado SSL del servidor remoto:QUIT
y presione la tecla Entrar / Volver.Si desea ver los datos en el certificado, puede usar:
de donde
certfile
se extrae el certificadologfile
. Busque encertdata
.fuente
automatizado
-servername fue requerido para obtener 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 convertir a un certificado para 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 en Windows
para Mac. El llavero que utilicé debería ser similar ...
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain host.name.com.cer
fuente
login.keychain
través de laKeychain Access
aplicación, usted puede simplemente buscar el certificado en System / SystemRoot y hacer clic y arrastrarlo a sulogin
llavero.-d
el comando se aplicará solo al llavero del usuario en lugar del llavero del sistema.trustAsRoot
lugar detrustRoot
para que se agreguen correctamente.Esto dará los resultados que contienen solo los certificados
fuente
Encontré una manera mucho más fácil si en Windows. Intenté con Microsoft Edge (pre-chromium) e hice clic en el candado en la barra de direcciones -> Ver cuadro de diálogo de certificado aparece con un botón "Exportar a archivo", que lo guarda como un archivo .crt.
No usaría mucho Edge, pero fue pan comido.
fuente