New submission from Adrian Vollmer: According to the documentation (https://docs.python.org/2/library/ssl.html#ssl.PROTOCOL_TLS), using ssl_version = ssl.PROTOCOL_TLS in a server socket should offer all TLS/SSL versions. However, it only offers TLSv1_2.
I attached a proof of concept. $ python3 poc.py 3.5.4 (default, Aug 12 2017, 14:08:14) [GCC 7.1.0] OpenSSL 1.1.0f 25 May 2017 [SSL: UNSUPPORTED_PROTOCOL] unsupported protocol (_ssl.c:719) [SSL: UNSUPPORTED_PROTOCOL] unsupported protocol (_ssl.c:719) b'test\n' $ python2 poc.py 2.7.13 (default, Jan 19 2017, 14:48:08) [GCC 6.3.0 20170118] OpenSSL 1.1.0f 25 May 2017 [SSL: UNSUPPORTED_PROTOCOL] unsupported protocol (_ssl.c:661) [SSL: UNSUPPORTED_PROTOCOL] unsupported protocol (_ssl.c:661) test To connect with s_client: $ for i in {tls1,tls1_1,tls1_2} ; do echo test | openssl s_client -connect localhost:3333 -CAfile server.pem -quiet -$i ; done 140164347663616:error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version:../ssl/record/rec_layer_s3.c:1399:SSL alert number 70 139926441944320:error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version:../ssl/record/rec_layer_s3.c:1399:SSL alert number 70 depth=0 C = AU, ST = Some-State, O = Internet Widgits Pty Ltd verify return:1 read:errno=0 ---------- assignee: christian.heimes components: SSL files: poc.py messages: 302081 nosy: adrianv, christian.heimes priority: normal severity: normal status: open title: ssl.PROTOCOL_TLS only select TLSv1.2 type: behavior versions: Python 2.7, Python 3.5 Added file: https://bugs.python.org/file47139/poc.py _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue31453> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com