(审阅者:我也知道这正在进入SuperUser领域,但是如果前面的问题无意中发现了... :))
这与this question非常相似,但是在Windows(7/8/Server 2008/2012)环境中:我使用的是OpenSSL的Windows端口。
我在跑openssl s_client -connect 192.168.0.1:443
从命令提示符,以便显示证书信息。但是,openssl之后会等待用户输入。我可以按Ctrl + C来“断开”输出,或者每个输入几个字符然后按回车键,但是我需要使它自动化-我真正感兴趣的是证书信息。
根据前面的问题,我需要某种方法来终止/关闭连接。但是,我尝试了在输入文件中进行管道传输,将echo
ing/type
ing输入混入到混合中,似乎没有什么可以模拟真实的用户。谁能告诉我连接后如何强制openssl退出?
最佳答案
通过使用管道传递字符“Q”,可以达到所需的效果。这为脚本提供了很好的一线:
echo "Q" | openssl s_client -connect host:port
如果您使用的是最新版本的BASH,则还可以使用小于三重重定向而不是管道传输(有时管道不可用,因为它在stdin/stdout上运行):
openssl s_client -connect host:port <<< "Q"
关于windows - 连接后如何终止OpenSSL s_client,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25760596/