diff options
Diffstat (limited to 'tests/net_inet/ssl_errors.py')
-rw-r--r-- | tests/net_inet/ssl_errors.py | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/tests/net_inet/ssl_errors.py b/tests/net_inet/ssl_errors.py index 65f3637e9e..bc4e5910bc 100644 --- a/tests/net_inet/ssl_errors.py +++ b/tests/net_inet/ssl_errors.py @@ -1,12 +1,12 @@ # test that socket.connect() on a non-blocking socket raises EINPROGRESS # and that an immediate write/send/read/recv does the right thing -import sys, errno, socket, ssl +import sys, errno, select, socket, ssl def test(addr, hostname, block=True): - print("---", hostname or addr) - s = socket.socket() + print("---", hostname) + s = socket.socket(socket.AF_INET) s.setblocking(block) try: s.connect(addr) @@ -16,11 +16,15 @@ def test(addr, hostname, block=True): raise print("EINPROGRESS") + if sys.implementation.name != "micropython": + # in CPython we have to wait, otherwise wrap_socket is not happy + select.select([], [s], []) + + ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT) + ssl_context.verify_mode = ssl.CERT_REQUIRED + try: - if sys.implementation.name == "micropython": - s = ssl.wrap_socket(s, do_handshake=block) - else: - s = ssl.wrap_socket(s, do_handshake_on_connect=block) + s = ssl_context.wrap_socket(s, do_handshake_on_connect=block, server_hostname=hostname) print("wrap: True") except OSError: print("wrap: error") @@ -36,11 +40,11 @@ def test(addr, hostname, block=True): if __name__ == "__main__": # connect to plain HTTP port, oops! - addr = socket.getaddrinfo("micropython.org", 80)[0][-1] - test(addr, None) + addr = socket.getaddrinfo("micropython.org", 80, socket.AF_INET)[0][-1] + test(addr, "micropython.org") # connect to plain HTTP port, oops! - addr = socket.getaddrinfo("micropython.org", 80)[0][-1] - test(addr, None, False) + addr = socket.getaddrinfo("micropython.org", 80, socket.AF_INET)[0][-1] + test(addr, "micropython.org", False) # connect to server with self-signed cert, oops! - addr = socket.getaddrinfo("test.mosquitto.org", 8883)[0][-1] + addr = socket.getaddrinfo("test.mosquitto.org", 8883, socket.AF_INET)[0][-1] test(addr, "test.mosquitto.org") |