이것은 연결에 실제 암호 스위트를 사용하는 방법입니까? get_cipher_list는 클라이언트 (또는 서버)가 지원하는 "가능한"암호 모음을 반환하는 것으로 보입니다.SSL_get_current_cipher에 대한 pyOpenSSL 래퍼가 있습니까?
2
A
답변
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))
'사기꾼'이미 서버에 연결하거나 악수를 수행하는 데 사용되었습니다 당신의 OpenSSL.SSL.Connection 개체입니다
.왜 pyOpenSSL 개발자가이 방법을 추가하지 않았는지 알 수 없습니다. M2Crypto가 가지고 있습니다.
1
master @ HEAD는 OpenSSL.SSL.Connection.get_cipher_name
을 도입했습니다. 및 OpenSSL.SSL.Connection.get_cipher_bits
. 이들은 pyOpenSSL 0.15에서 사용할 수 있습니다.
이제이 문제가 TCP에 대해 해결되면 아마도 누군가가 DTLS에서 동일한 문제를 해결할 수 있습니다. 난 그냥 여기에 대한 새로운 질문을 게시했습니다 : http://stackoverflow.com/questions/23583508/how-to-get-current-cipher-in-pyopenssl-for-dtls –