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.