Package tlslite :: Package integration :: Module imap4_tls :: Class IMAP4_TLS
[hide private]
[frames] | no frames]

Class IMAP4_TLS

source code


This class extends imaplib.IMAP4 with TLS support.

Nested Classes [hide private]

Inherited from imaplib.IMAP4: abort, error, readonly

Instance Methods [hide private]
 
__init__(self, host='', port=993, username=None, password=None, certChain=None, privateKey=None, checker=None, settings=None)
Create a new IMAP4_TLS.
source code
 
open(self, host='', port=993)
Setup connection to remote server on "host:port".
source code

Inherited from imaplib.IMAP4: __getattr__, append, authenticate, capability, check, close, copy, create, delete, deleteacl, expunge, fetch, getacl, getannotation, getquota, getquotaroot, list, login, login_cram_md5, logout, lsub, myrights, namespace, noop, partial, print_log, proxyauth, read, readline, recent, rename, response, search, select, send, setacl, setannotation, setquota, shutdown, socket, sort, status, store, subscribe, thread, uid, unsubscribe, xatom

Inherited from imaplib.IMAP4 (private): _CRAM_MD5_AUTH, _append_untagged, _check_bye, _checkquote, _command, _command_complete, _dump_ur, _get_line, _get_response, _get_tagged_response, _log, _match, _mesg, _new_tag, _quote, _simple_command, _untagged_response

Inherited from clienthelper.ClientHelper (private): _handshake

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Variables [hide private]

Inherited from imaplib.IMAP4: mustquote

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

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

source code 

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 tlslite.TLSConnection.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 (tlslite.x509certchain.X509CertChain) - Certificate chain for client authentication. Requires the 'privateKey' argument. Excludes the SRP arguments.
  • privateKey (tlslite.utils.rsakey.RSAKey) - Private key for client authentication. Requires the 'certChain' argument. Excludes the SRP arguments.
  • checker (tlslite.checker.Checker) - Callable object called after handshaking to evaluate the connection and raise an Exception if necessary.
  • settings (tlslite.handshakesettings.HandshakeSettings) - Various settings which can be used to control the ciphersuites, certificate types, and SSL/TLS versions offered by the client.
Overrides: object.__init__

open(self, host='', port=993)

source code 

Setup connection to remote server on "host:port".

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

Overrides: imaplib.IMAP4.open