win32 portable para for descargar current cmd openssl quit

cmd - para - wget portable



openssl cuelga y no sale (4)

En Windows, simplemente escribiendo winpty antes de que su comando openssl haga el truco. Entonces, por ejemplo, puedes crear un certificado así:

winpty openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days XXX

Estoy intentando usar openssl para obtener un certificado, y parece que sigue colgando. He investigado mucho, pero no todas las opciones disponibles parecen funcionar en Windows.

openssl s_client -showcerts -connect google.com:443 > cert.txt

He intentado esto:

openssl s_client -connect xyz:443 < quit.txt > cert.txt

Donde quit.txt contiene "quit / n" de http://bytes.com/topic/php/answers/8802-automate-openssl-s_client-command-batch-php-script

Eso no funcionó. También miré las secuencias de comandos de Openssl s_clinet -connect. Forzar la ayuda para dejar de fumar

También he probado -prexit

También he investigado esto y no puedo hacerlo funcionar: https://serverfault.com/questions/139728/how-to-download-ssl-certificate-from-a-website

¡Me estaba yendo tan bien! Logré hacer algo que pensé que sería imposible y una cosa tan simple como este error logró detenerme por el momento :(


Parece que algunas distribuciones de OpenSSL para Windows esperan una pulsación de tecla adicional, independiente de la entrada estándar. Quit.txt se canaliza correctamente en STDIN de openssl (el servidor recibe el comando QUIT), pero no sucede nada hasta que se presiona una tecla.

Este problema no existe en Cygwin''s versión de OpenSSL de Cygwin''s . Desafortunadamente, la instalación básica de Cygwin toma aproximadamente 100 MB de espacio en disco, pero puede intentar extraer solo openssl.exe y las bibliotecas necesarias.

Este método funciona:

echo QUIT | c:/cygwin/bin/openssl.exe s_client -showcerts -connect google.com:443 > cert.txt


Por razones que no entiendo completamente, el eco de SALIR o de salir en la entrada no funcionó en mi caso. Estoy usando MINGW64 con OpenSSL 1.0.2d en Windows 8.1, y estoy usando openssl para obtener certificados de servidores dentro de un script de bash. Sin embargo, solo ejecutando el comando openssl en segundo plano y esperando un poco funcionó para mí:

#!/bin/bash openssl s_client -connect my.server.com:443 -showcerts > output.txt 2>/dev/null & sleep 2


Si se ejecuta bajo mingw64 en Windows, puede usar el programa winpty para envolver correctamente el terminal

Por ejemplo, creando alias bajo bash alias openssl = ''winpty openssl.exe''

Entonces openssl s_client -connect blah

Debería funcionar como se espera