how to use tls 1.2 in python

How to Use TLS 1.2 in Python

If you're working with Python and need to use the latest version of the Transport Layer Security (TLS) protocol, version 1.2, you're in luck. Python has built-in support for TLS 1.2, so you don't need to install any additional libraries or modules.

Here are the steps to use TLS 1.2 in Python:

Step 1: Import the SSL Module


import ssl

The SSL module provides the functions and classes needed to implement TLS.

Step 2: Create a Context


context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)

The SSLContext class provides a way to configure the SSL/TLS settings, including the protocol version.

Step 3: Create a Socket

Next, create a socket and wrap it with the context:


import socket

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(('example.com', 443))

with context.wrap_socket(sock, server_hostname='example.com') as s:
    s.send(b'GET / HTTP/1.1\r\nHost: example.com\r\n\r\n')
    response = s.recv(4096)

In this example, we are connecting to example.com on port 443 (HTTPS). The wrap_socket() method wraps an existing socket with SSL/TLS using the configured context.

Alternative Method: Use Requests Library

If you're working with HTTP requests, you can use the popular Requests library, which has built-in support for TLS 1.2:


import requests

response = requests.get('https://example.com', verify=True)

The verify=True parameter tells Requests to verify the SSL/TLS certificate. If you're working with a self-signed certificate, you may need to set verify=False.

Using TLS 1.2 in Python is straightforward and doesn't require any additional modules or libraries. Whether you're working with raw sockets or using a library like Requests, Python has you covered.