这是一种获取用于连接的实际密码套件的方法吗? get_cipher_list似乎返回客户端(或服务器)支持的“可能”密码套件。
答案 0 :(得分:1)
from OpenSSL._util import (
ffi as _ffi,
lib as _lib)
...
c_cipher_obj = _lib.SSL_get_current_cipher(con._ssl)
cur_cipher = _ffi.string( _lib.SSL_CIPHER_get_name(c_cipher_obj))
其中'con'是您已用于连接服务器或进行握手的OpenSSL.SSL.Connection对象。
我不知道为什么pyOpenSSL开发人员没有添加这个方法。 M2Crypto确实拥有它。
答案 1 :(得分:1)
master @ HEAD引入了OpenSSL.SSL.Connection.get_cipher_name
。和OpenSSL.SSL.Connection.get_cipher_bits
。这些将在pyOpenSSL 0.15中提供。