如何使用python子流程模块输入任何密钥以获得openssl命令的完整输出

2024-06-01 01:49:44 发布

您现在位置:Python中文网/ 问答频道 /正文

无法获得完整输出,因为需要在命令执行之间提供输入get/或enter(交互模式)

输出: 新的TLSv1.2密码是AES128-SHA256 服务器公钥为2048位 不支持安全重新协商 压缩:无 扩展:无 没有ALPN谈判 SSL会话: 协议:TLSv1.2 密码:AES128-SHA256 会话ID:5054E58869691DDC3020D84F85F97E4A439AC1999141AB05FB22EC2F7EAA533 会话ID ctx: 主密钥:5B13A9EBBCA9C014D36E831C9319ABE0FF5009ED4CE584E8BFE3FAC1EAD1B49E4FF164826F06A6323105B3B72BA20 PSK身份:无 PSK标识提示:无 SRP用户名:无 开始时间:157601327 超时:7200(秒) 验证返回代码:0(正常)

扩展主秘密:没有

然后需要输入才能获得:

HTTP/1.1 301永久移动 连接:关闭 地点:http://192.168.1.110

http://192.168.1.110 “>

此页面需要更高的加密。请单击here 继续

关闭

cmd = r"openssl s_client -connect site.com:8080 -CAfile C:\\Users\\dbansal\\Desktop\\dad_hacks\\client_auth\\two_level_rootCA.pem
 -cert client_1024.crt.pem -key client_1024.key.pem -cipher AES128-SHA256"
import subprocess
p = subprocess.Popen(cmd, stdout=subprocess.PIPE)
import time
time.sleep(4)
p.terminate()
out, err = p.communicate()
out = out.decode()

Tags: keyimport命令cmdclientidhttp密码