Securing sockets with TLS/SSL

You have probably come across the discussion around secure web communication using Secure Socket Layer (SSL), or more precisely Transport Layer Security (TLS), which is adopted by many other high-level protocols. Let us see how we can wrap a plain sockets connection with SSL. Python has the built-in ssl module, which serves this purpose.

In this example, we would like to create a plain TCP socket and connect to an HTTPS enabled web server. Then, we can wrap that connection using SSL and check the various properties of the connection. For example, to check the identity of the remote web server, we can see if the hostname is same in the SSL certificate as we expect it to be. The following is an example of a secure ...

Get Learning Python Network Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.