Module and Class Hierarchies

[show private | hide private]
[frames | no frames]

## Module Hierarchy

- `tlslite`: TLS Lite is a free python library that implements SSL v3, TLS v1, and TLS v1.1.
  - `api`: Import this module for easy access to TLS Lite objects.
  - `BaseDB`: Base class for SharedKeyDB and VerifierDB.
  - `Checker`: Class for post-handshake certificate checking.
  - `constants`: Constants used in various places.
  - `errors`: Exception classes.
  - `FileObject`: Class returned by TLSConnection.makefile().
  - `HandshakeSettings`: Class for setting handshake parameters.
  - `integration`: Classes for integrating TLS Lite with other packages.
    - `AsyncStateMachine`: A state machine for using TLS Lite with asynchronous I/O.
    - `HTTPTLSConnection`: TLS Lite + httplib.
    - `IMAP4_TLS`: TLS Lite + imaplib.
    - `POP3_TLS`: TLS Lite + poplib.
    - `SMTP_TLS`: TLS Lite + smtplib.
    - `TLSAsyncDispatcherMixIn`: TLS Lite + asyncore.
    - `TLSSocketServerMixIn`: TLS Lite + SocketServer.
    - `TLSTwistedProtocolWrapper`: TLS Lite + Twisted.
    - `XMLRPCTransport`: TLS Lite + xmlrpclib.
    - `ClientHelper`: A helper class for using TLS Lite with stdlib clients (httplib, xmlrpclib, imaplib, poplib).
    - `IntegrationHelper`
  - `mathtls`: Miscellaneous helper functions.
  - `messages`: Classes representing TLS messages.
  - `Session`: Class representing a TLS session.
  - `SessionCache`: Class for caching TLS sessions.
  - `SharedKeyDB`: Class for storing shared keys.
  - `TLSConnection`: MAIN CLASS FOR TLS LITE (START HERE!).
  - `TLSRecordLayer`: Helper class for TLSConnection.
  - `utils`: Toolkit for crypto and other stuff.
    - `AES`: Abstract class for AES.
    - `ASN1Parser`: Class for parsing ASN.1
    - `cipherfactory`: Factory functions for symmetric cryptography.
    - `codec`: Classes for reading/writing binary data (such as TLS records).
    - `compat`: Miscellaneous functions to mask Python version differences.
    - `Cryptlib_AES`: Cryptlib AES implementation.
    - `Cryptlib_RC4`: Cryptlib RC4 implementation.
    - `Cryptlib_TripleDES`: Cryptlib 3DES implementation.
    - `dateFuncs`
    - `hmac`: HMAC (Keyed-Hashing for Message Authentication) Python module.
    - `keyfactory`: Factory functions for asymmetric cryptography.
    - `OpenSSL_AES`: OpenSSL/M2Crypto AES implementation.
    - `OpenSSL_RC4`: OpenSSL/M2Crypto RC4 implementation.
    - `OpenSSL_RSAKey`: OpenSSL/M2Crypto RSA implementation.
    - `OpenSSL_TripleDES`: OpenSSL/M2Crypto 3DES implementation.
    - `PyCrypto_AES`: PyCrypto AES implementation.
    - `PyCrypto_RC4`: PyCrypto RC4 implementation.
    - `PyCrypto_RSAKey`: PyCrypto RSA implementation.
    - `PyCrypto_TripleDES`: PyCrypto 3DES implementation.
    - `Python_AES`: Pure-Python AES implementation.
    - `Python_RC4`: Pure-Python RC4 implementation.
    - `Python_RSAKey`: Pure-Python RSA implementation.
    - `RC4`: Abstract class for RC4.
    - `rijndael`: A pure python (slow) implementation of rijndael with a decent interface
    - `RSAKey`: Abstract class for RSA.
    - `TripleDES`: Abstract class for 3DES.
    - `xmltools`: Helper functions for XML.
    - `cryptomath`: cryptomath module
    - `jython_compat`: Miscellaneous functions to mask Python/Jython differences.
  - `VerifierDB`: Class for storing SRP password verifiers.
  - `X509`: Class representing an X.509 certificate.
  - `X509CertChain`: Class representing an X.509 certificate chain.

## Class Hierarchy

- `exceptions.Exception`: Common base class for all exceptions.
  - `tlslite.errors.TLSError`: Base class for all TLS Lite exceptions.
    - `tlslite.errors.TLSAbruptCloseError`: The socket was closed without a proper TLS shutdown.
    - `tlslite.errors.TLSAlert`: A TLS alert has been signalled.
      - `tlslite.errors.TLSLocalAlert`: A TLS alert has been signalled by the local implementation.
      - `tlslite.errors.TLSRemoteAlert`: A TLS alert has been signalled by the remote implementation.
    - `tlslite.errors.TLSAuthenticationError`: The handshake succeeded, but the other party's authentication was inadequate.
      - `tlslite.errors.TLSAuthenticationTypeError`: The Checker was expecting the other party to authenticate with a different type of certificate chain.
      - `tlslite.errors.TLSAuthorizationError`: The Checker was expecting the other party to authenticate with a certificate chain that has a different authorization.
      - `tlslite.errors.TLSFingerprintError`: The Checker was expecting the other party to authenticate with a certificate chain that matches a different fingerprint.
      - `tlslite.errors.TLSNoAuthenticationError`: The Checker was expecting the other party to authenticate with a certificate chain, but this did not occur.
      - `tlslite.errors.TLSValidationError`: The Checker has determined that the other party's certificate chain is invalid.
    - `tlslite.errors.TLSFaultError`: The other party responded incorrectly to an induced fault.
  - `imaplib.error`
    - `imaplib.abort`
      - `imaplib.readonly`
- `httplib.HTTPConnection`
  - `tlslite.integration.HTTPTLSConnection.HTTPBaseTLSConnection`: This abstract class provides a framework for adding TLS support to httplib.
    - `tlslite.integration.HTTPTLSConnection.HTTPTLSConnection`: This class extends `HTTPBaseTLSConnection` to support the common types of handshaking.
- `httplib.HTTPResponse`
- `imaplib.IMAP4`: IMAP4 client class.
  - `tlslite.integration.IMAP4_TLS.IMAP4_TLS`: This class extends `imaplib.IMAP4` with TLS support.
- `poplib.POP3`: This class supports both the minimal and optional command sets.
  - `tlslite.integration.POP3_TLS.POP3_TLS`: This class extends `poplib.POP3` with TLS support.
- `smtplib.SMTP`: This class manages a connection to an SMTP or ESMTP server.
  - `tlslite.integration.SMTP_TLS.SMTP_TLS`: This class extends `smtplib.SMTP` with TLS support.
- `tlslite.BaseDB.BaseDB`
  - `tlslite.SharedKeyDB.SharedKeyDB`: This class represent an in-memory or on-disk database of shared keys.
  - `tlslite.VerifierDB.VerifierDB`: This class represent an in-memory or on-disk database of SRP password verifiers.
- `tlslite.Checker.Checker`: This class is passed to a handshake function to check the other party's certificate chain.
- `tlslite.FileObject.FileObject`: This class provides a file object interface to a `tlslite.TLSConnection.TLSConnection`.
- `tlslite.HandshakeSettings.HandshakeSettings`: This class encapsulates various parameters that can be used with a TLS handshake.
- `tlslite.Session.Session`: This class represents a TLS session.
- `tlslite.SessionCache.SessionCache`: This class is used by the server to cache TLS sessions.
- `tlslite.TLSRecordLayer.TLSRecordLayer`: This class handles data transmission for a TLS connection.
  - `tlslite.TLSConnection.TLSConnection`: This class wraps a socket and provides TLS handshaking and data transfer.
- `tlslite.TLSRecordLayer._ConnectionState`
- `tlslite.X509.X509`: This class represents an X.509 certificate.
- `tlslite.X509CertChain.X509CertChain`: This class represents a chain of X.509 certificates.
- `tlslite.constants.AlertDescription`:
- `tlslite.constants.AlertLevel`
- `tlslite.constants.CertificateType`
- `tlslite.constants.CipherSuite`
- `tlslite.constants.ContentType`
- `tlslite.constants.Fault`
- `tlslite.constants.HandshakeType`
- `tlslite.integration.AsyncStateMachine.AsyncStateMachine`: This is an abstract class that's used to integrate TLS Lite with asyncore and Twisted.
  - `tlslite.integration.TLSAsyncDispatcherMixIn.TLSAsyncDispatcherMixIn`: This class can be "mixed in" with an `asyncore.dispatcher` to add TLS support.
  - `tlslite.integration.TLSTwistedProtocolWrapper.TLSTwistedProtocolWrapper`: This class can wrap Twisted protocols to add TLS support.
- `tlslite.integration.ClientHelper.ClientHelper`: This is a helper class used to integrate TLS Lite with various TLS clients (e.g.
  - `tlslite.integration.HTTPTLSConnection.HTTPTLSConnection`: This class extends `HTTPBaseTLSConnection` to support the common types of handshaking.
  - `tlslite.integration.IMAP4_TLS.IMAP4_TLS`: This class extends `imaplib.IMAP4` with TLS support.
  - `tlslite.integration.POP3_TLS.POP3_TLS`: This class extends `poplib.POP3` with TLS support.
  - `tlslite.integration.XMLRPCTransport.XMLRPCTransport`: Handles an HTTPS transaction to an XML-RPC server.
- `tlslite.integration.IntegrationHelper.IntegrationHelper`
- `tlslite.integration.TLSSocketServerMixIn.TLSSocketServerMixIn`: This class can be mixed in with any `SocketServer.TCPServer` to add TLS support.
- `tlslite.integration.TLSTwistedProtocolWrapper._FakeSocket`
- `tlslite.mathtls.MAC_SSL`: MAC_SSL class.
- `tlslite.messages.Msg`
  - `tlslite.messages.Alert`
  - `tlslite.messages.ApplicationData`
  - `tlslite.messages.ChangeCipherSpec`
  - `tlslite.messages.HandshakeMsg`
    - `tlslite.messages.Certificate`
    - `tlslite.messages.CertificateRequest`
    - `tlslite.messages.CertificateVerify`
    - `tlslite.messages.ClientHello`
    - `tlslite.messages.ClientKeyExchange`
    - `tlslite.messages.Finished`
    - `tlslite.messages.ServerHello`
    - `tlslite.messages.ServerHelloDone`
    - `tlslite.messages.ServerKeyExchange`
- `tlslite.messages.RecordHeader2`
- `tlslite.messages.RecordHeader3`
- `tlslite.utils.AES.AES`
  - `tlslite.utils.Cryptlib_AES.Cryptlib_AES`
  - `tlslite.utils.OpenSSL_AES.OpenSSL_AES`
  - `tlslite.utils.PyCrypto_AES.PyCrypto_AES`
  - `tlslite.utils.Python_AES.Python_AES`
- `tlslite.utils.ASN1Parser.ASN1Parser`
- `tlslite.utils.RC4.RC4`
  - `tlslite.utils.Cryptlib_RC4.Cryptlib_RC4`
  - `tlslite.utils.OpenSSL_RC4.OpenSSL_RC4`
  - `tlslite.utils.PyCrypto_RC4.PyCrypto_RC4`
  - `tlslite.utils.Python_RC4.Python_RC4`
- `tlslite.utils.RSAKey.RSAKey`: This is an abstract base class for RSA keys.
  - `tlslite.utils.OpenSSL_RSAKey.OpenSSL_RSAKey`
  - `tlslite.utils.PyCrypto_RSAKey.PyCrypto_RSAKey`
  - `tlslite.utils.Python_RSAKey.Python_RSAKey`
- `tlslite.utils.TripleDES.TripleDES`
  - `tlslite.utils.Cryptlib_TripleDES.Cryptlib_TripleDES`
  - `tlslite.utils.OpenSSL_TripleDES.OpenSSL_TripleDES`
  - `tlslite.utils.PyCrypto_TripleDES.PyCrypto_TripleDES`
- `tlslite.utils.codec.Parser`
- `tlslite.utils.codec.Writer`
- `tlslite.utils.hmac.HMAC`: RFC2104 HMAC class.
- `tlslite.utils.jython_compat.CertChainBase`
- `tlslite.utils.jython_compat.ReportFuncBase`
- `tlslite.utils.jython_compat.SelfTestBase`
- `tlslite.utils.rijndael.rijndael`
- `twisted.internet.protocol.BaseProtocol`: This is the abstract superclass of all protocols.
  - `twisted.internet.protocol.Protocol`
    - `twisted.protocols.policies.ProtocolWrapper`: Wraps protocol instances and acts as their transport as well.
      - `tlslite.integration.TLSTwistedProtocolWrapper.TLSTwistedProtocolWrapper`: This class can wrap Twisted protocols to add TLS support.
- `xmlrpclib.Transport`: Handles an HTTP transaction to an XML-RPC server.
  - `tlslite.integration.XMLRPCTransport.XMLRPCTransport`: Handles an HTTPS transaction to an XML-RPC server.

Generated by Epydoc 2.0 on Mon Feb 21 21:56:57 2005 | http://epydoc.sf.net