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)[source]

Bases: IMAP4, 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)[source]

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)[source]

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

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