Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

'module' object has no attribute 'wrap_socket' when use ssl

1,868 views
Skip to first unread message

Ho Yeung Lee

unread,
Apr 15, 2017, 3:03:18 AM4/15/17
to
Python 2.7.6 (default, Jun 22 2015, 18:00:18)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/martin/Documents/ssl.py", line 13, in <module>
SSLError -- exception raised for I/O errors
AttributeError: 'module' object has no attribute 'wrap_socket'

Peter Otten

unread,
Apr 15, 2017, 3:18:58 AM4/15/17
to
Look at the traceback again -- the ssl.py you are importing is not the one
from the standard library, it's an arbitrary module, perhaps written by
"martin". Once you rename Martin's ssl.py to something else and also remove
the corresponding ssl.pyc you will be able to work with the desired ssl.py
from the stdlib.

Ho Yeung Lee

unread,
Apr 15, 2017, 4:42:05 AM4/15/17
to
thanks , it can run now,

but how to create a SSL server for testing it?
when I use google as server, it failed handshake

python crackssl.py
Traceback (most recent call last):
File "crackssl.py", line 16, in <module>
wrappedSocket.connect((HOST, PORT))
File "/usr/lib/python2.7/ssl.py", line 433, in connect
self._real_connect(addr, False)
File "/usr/lib/python2.7/ssl.py", line 420, in _real_connect
socket.connect(self, addr)
File "/usr/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 111] Connection refused
martin@ubuntu:~/Documents$ python crackssl.py
Traceback (most recent call last):
File "crackssl.py", line 16, in <module>
wrappedSocket.connect((HOST, PORT))
File "/usr/lib/python2.7/ssl.py", line 433, in connect
self._real_connect(addr, False)
File "/usr/lib/python2.7/ssl.py", line 423, in _real_connect
self.do_handshake()
File "/usr/lib/python2.7/ssl.py", line 405, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [Errno 1] _ssl.c:510: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure


import socket
import ssl

# SET VARIABLES
packet, reply = "<packet>SOME_DATA</packet>", ""
HOST, PORT = 'www.google.com.hk', 443

# CREATE SOCKET
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(10)

# WRAP SOCKET
wrappedSocket = ssl.wrap_socket(sock, ssl_version=ssl.PROTOCOL_TLSv1, ciphers="ADH-AES256-SHA")

# CONNECT AND PRINT REPLY
wrappedSocket.connect((HOST, PORT))
wrappedSocket.send(packet)
print wrappedSocket.recv(1280)

# CLOSE SOCKET CONNECTION
wrappedSocket.close()
0 new messages