Il giorno lun, 24/03/2014 alle 11.32 +0100, Dario Bertini ha scritto: > รจ (anche?) un problema del server, non gestisce correttamente > l'handshake TLS... se apri con chrome infatti puoi vedere che non usa > TLS, ma solo il vecchio SSL 3.0 > [...] > in questo caso, che il problema sia anche con SSL2 (immagino che SSL23 > indichi che python prova sia con ssl2 che con ssl3), e suggeriscono di > forzare SSL3 > > >>> https_sslv3_handler = > >>> urllib.request.HTTPSHandler(context=ssl.SSLContext(ssl.PROTOCOL_SSLv3)) > >>> opener = urllib.request.build_opener(https_sslv3_handler) > >>> urllib.request.install_opener(opener) > >>> request.urlopen('https://www.u-gov.sssup.it') > <http.client.HTTPResponse object at 0x7ff96f72acd0 >
Giusto! In effetti con questo monkey patching poi tutto mi fila liscio: import ssl from ssl import PROTOCOL_SSLv23, PROTOCOL_SSLv3, CERT_NONE, SSLSocket def monkey_wrap_socket(sock, keyfile=None, certfile=None, server_side=False, cert_reqs=CERT_NONE, ssl_version=PROTOCOL_SSLv23, ca_certs=None, do_handshake_on_connect=True, suppress_ragged_eofs=True, ciphers=None): ssl_version=PROTOCOL_SSLv3 return SSLSocket(sock, keyfile=keyfile, certfile=certfile, server_side=server_side, cert_reqs=cert_reqs, ssl_version=ssl_version, ca_certs=ca_certs, do_handshake_on_connect=do_handshake_on_connect, suppress_ragged_eofs=suppress_ragged_eofs, ciphers=ciphers) ssl.wrap_socket = monkey_wrap_socket Grazie mille, Pietro _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python