Monday 15 February 2010

ssl - Using TLS1.2 with ftplib in python 2.7.* -



ssl - Using TLS1.2 with ftplib in python 2.7.* -

i need connect ftp server requires tls 1.2

the ftplib has object called ftp_tls.ssl_version can't take ssl.protocol_tlsv1_2 because available in python 3.4 , available @ python 2.7.9 not released of post.

there no way can alter programme utilize python 3.4 options?

one assume default should connect best tls version possible. explicit setting tls1.2 means, client not take below tls1.2 server.

unfortunately ftplib decided hard code version tlsv1 , cut down connection tls 1.0 if openssl back upwards improve versions. since there no way older python versions explicitly request tls 1.1 or tls 1.2 need request sslv23 automatically requests best version possible:

import ssl ftplib import ftp_tls ftps = ftp_tls('127.0.0.1') ## set protocol sslv23 request best version ftps.ssl_version = ssl.protocol_sslv23; ftps.login() ftps.prot_p() ftps.retrlines('list') ftps.quit()

the alter normal utilize of ftplib set ssl_version ssl.protocol_sslv23 , request best version possible. if tls 1.2 depends on server , on supported versions in client. ubuntu tls 1.2 disabled on client side version 13.10, utilize @ tls 1.1. ubuntu 14.04 utilize tls 1.2 if server supports it.

a side effect of alter not send auth tls command ftp server, instead older auth ssl command, servers not care. side effect allow tls 1.0 or ssl 3.0 if server not back upwards better. if don't want have fiddle ssl context options, looks available python3.

python ssl ftplib

No comments:

Post a Comment