tlslite.integration.imap4_tls module

TLS Lite + imaplib.

class tlslite.integration.imap4_tls.IMAP4_TLS(host='', port=993, username=None, password=None, certChain=None, privateKey=None, checker=None, settings=None)

Bases: imaplib.IMAP4, tlslite.integration.clienthelper.ClientHelper

This class extends imaplib.IMAP4 with TLS support.

__init__(host='', port=993, username=None, password=None, certChain=None, privateKey=None, checker=None, settings=None)

Create a new IMAP4_TLS.

For client authentication, use one of these argument combinations:

  • username, password (SRP)
  • certChain, privateKey (certificate)

For server authentication, you can either rely on the implicit mutual authentication performed by SRP or you can do certificate-based server authentication with one of these argument combinations:

  • x509Fingerprint

Certificate-based server authentication is compatible with SRP or certificate-based client authentication.

The caller should be prepared to handle TLS-specific exceptions. See the client handshake functions in TLSConnection for details on which exceptions might be raised.

Parameters:
  • host (str) – Server to connect to.
  • port (int) – Port to connect to.
  • username (str) – SRP username. Requires the ‘password’ argument.
  • password (str) – SRP password for mutual authentication. Requires the ‘username’ argument.
  • certChain (X509CertChain) – Certificate chain for client authentication. Requires the ‘privateKey’ argument. Excludes the SRP arguments.
  • privateKey (RSAKey) – Private key for client authentication. Requires the ‘certChain’ argument. Excludes the SRP arguments.
  • checker (Checker) – Callable object called after handshaking to evaluate the connection and raise an Exception if necessary.
  • settings (HandshakeSettings) – Various settings which can be used to control the ciphersuites, certificate types, and SSL/TLS versions offered by the client.
open(host='', port=993, timeout=None)

Setup connection to remote server on “host:port”.

This connection will be used by the routines: read, readline, send, shutdown.