python use tls 1.2

Python Usage of TLS 1.2

Transport Layer Security (TLS) 1.2 is a protocol used to secure data transmission over the internet. Python, being a popular language for web development and network programming, provides ways to use TLS 1.2 in its code.

Using Requests Library

One way to use TLS 1.2 in Python is through the Requests library which is commonly used for making HTTP requests. By default, Requests uses the highest available TLS version supported by the system but we can specify the version we want to use.


      import requests

      url = "https://example.com"
      response = requests.get(url, verify=True, tls_version=1.2)

      print(response.content)
    

In the code above, we imported the Requests library and specified the URL we want to make a GET request to. We then used the requests.get() method to make the request with the verify parameter set to true to verify the SSL certificate of the website. We also specified the TLS version we want to use by setting the tls_version parameter to 1.2.

Using OpenSSL Library

Another way to use TLS 1.2 in Python is through the OpenSSL library which provides cryptographic functions for secure communication. We can use the ssl module in Python which is part of the standard library to create an SSL context with TLS 1.2 enabled.


      import socket
      import ssl

      HOST = 'example.com'
      PORT = 443

      context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
      conn = socket.create_connection((HOST, PORT))
      conn_ssl = context.wrap_socket(conn, server_hostname=HOST)

      conn_ssl.send(b'GET / HTTP/1.1\r\nHost: example.com\r\n\r\n')
      response = conn_ssl.recv()

      print(response)
    

In the code above, we first imported the socket and ssl modules. We then specified the HOST and PORT we want to connect to. We created an SSL context with the PROTOCOL_TLSv1_2 parameter which enables TLS 1.2. We then created a socket connection to the host and wrapped it with the SSL context. We sent a GET request to the host and received the response which we printed.