Python OpenSSL:OpenSSL s_客户端-连接
python开放ssl中的Python OpenSSL:OpenSSL s_客户端-连接,python,ssl,openssl,pyopenssl,Python,Ssl,Openssl,Pyopenssl,python开放ssl中的sudo openssl s_client-connect等效于什么 我已经查阅了文档,还没有找到任何有用的东西。我想将结果与证明文件库进行比较,因为我不相信证明文件库实际上是准确的。我只想得到以下信息: --- New, TLSv1/SSLv3, Cipher is AES128-SHA Server public key is 2048 bit Secure Renegotiation IS supported Compression: NONE Expansion
sudo openssl s_client-connect
等效于什么
我已经查阅了文档,还没有找到任何有用的东西。我想将结果与证明文件库进行比较,因为我不相信证明文件库实际上是准确的。我只想得到以下信息:
---
New, TLSv1/SSLv3, Cipher is AES128-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1
Cipher : AES128-SHA
Session-ID: CEB4CF30EA4F1074039F5596CDDCA1073D683FFAC6D1DA1F68FCBA0FDDADDD38
Session-ID-ctx:
Master-Key: F5929F0740A855C32F6755ED45710D467314AF16BE52962FC8664A6E5105A6004DEC9E64B92DFEFAC6FE80FDDE65C814
Key-Arg : None
Start Time: 1490843868
Timeout : 300 (sec)
Verify return code: 0 (ok)
---
我会在命令行中调用
基本上,我想要一个等价物,如下所示:
cert = CertInfo(host=hostname, port=443) # ('RC4-SHA', 'TLSv1/SSLv3', 128)
info = cert.cipher()
除了域之外,我不知道关于主机的任何信息,所以我正在尝试找出如何进行裸连接。这显然是不正确的,因为它存在以下错误:
context = ssl.create_default_context()
conn = context.wrap_socket(socket.socket(socket.AF_INET), server_hostname=hostname)
conn.connect(('google.com', 443))
cert = conn.getpeercert()
错误是什么?主机名的值是多少?当我使用
hostname=www.google.com
时,我会得到一个有效的响应,相当于info([binary\u form])
。如果需要,cert.cipher()
,conn.cipher()
。