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