Как явно указать модуль Python ldap3 TLS версии 1.2? - PullRequest
0 голосов
/ 01 октября 2018

Я пытаюсь использовать модуль Python ldap3 для аутентификации в ldap, но я хочу проверить, использует ли мое соединение TLS версии 1.2.

Соответствующий фрагмент кода:

tls = Tls(validate=ssl.CERT_REQUIRED, version=ssl.PROTOCOL_TLSv1_2)
server = Server(server_uri, use_ssl=True, tls=tls, get_info=ALL)
conn = Connection(server, user="domain\\myusername", password="password", authentication=NTLM, auto_referrals=False)
conn.bind()

Вывод моего объекта Connection:

Connection(server=Server(
host='domain.host.com', 
port=636, 
use_ssl=True, 
allowed_referral_hosts=[('*', True)], 
tls=Tls(validate=<VerifyMode.CERT_REQUIRED: 2>, 
version=<_SSLMethod.PROTOCOL_TLSv1_2: 5>), 
get_info='ALL', mode='IP_V6_PREFERRED'), 
version=3, 
authentication='NTLM', 
client_strategy='SYNC', ...truncated...)

Я не уверен, что означает "5" в свойстве версии, но в конечном итоге я пытаюсь проверить, если я 'm аутентификации с использованием TLS версии 1.2 или нет.

1 Ответ

0 голосов
/ 01 октября 2018

Константы берутся из модуля ssl stdlib.Вы можете использовать модуль для печати константного эквивалента для разных версий SSL следующим образом:

$ python -c "import ssl; print(ssl.PROTOCOL_SSLv3)"
1
$ python -c "import ssl; print(ssl.PROTOCOL_SSLv23)"
2
$ python -c "import ssl; print(ssl.PROTOCOL_TLSv1)"
3
$ python -c "import ssl; print(ssl.PROTOCOL_TLSv1_1)"     
4
$ python -c "import ssl; print(ssl.PROTOCOL_TLSv1_2)"
5
...