gdata.tlslite.integration.POP3_TLS
index
/usr/local/google/home/afshar/src/external-gdata-release/google3/src/gdata/tlslite/integration/POP3_TLS.py

TLS Lite + poplib.

 
Modules
       
socket

 
Classes
       
gdata.tlslite.integration.ClientHelper.ClientHelper
POP3_TLS(poplib.POP3, gdata.tlslite.integration.ClientHelper.ClientHelper)
poplib.POP3
POP3_TLS(poplib.POP3, gdata.tlslite.integration.ClientHelper.ClientHelper)

 
class POP3_TLS(poplib.POP3, gdata.tlslite.integration.ClientHelper.ClientHelper)
    This class extends L{poplib.POP3} with TLS support.
 
 
Method resolution order:
POP3_TLS
poplib.POP3
gdata.tlslite.integration.ClientHelper.ClientHelper

Methods defined here:
__init__(self, host, port=995, username=None, password=None, sharedKey=None, certChain=None, privateKey=None, cryptoID=None, protocol=None, x509Fingerprint=None, x509TrustList=None, x509CommonName=None, settings=None)
Create a new POP3_TLS.
 
For client authentication, use one of these argument
combinations:
 - username, password (SRP)
 - username, sharedKey (shared-key)
 - certChain, privateKey (certificate)
 
For server authentication, you can either rely on the
implicit mutual authentication performed by SRP or
shared-keys, or you can do certificate-based server
authentication with one of these argument combinations:
 - cryptoID[, protocol] (requires cryptoIDlib)
 - x509Fingerprint
 - x509TrustList[, x509CommonName] (requires cryptlib_py)
 
Certificate-based server authentication is compatible with
SRP or certificate-based client authentication.  It is
not compatible with shared-keys.
 
The caller should be prepared to handle TLS-specific
exceptions.  See the client handshake functions in
L{tlslite.TLSConnection.TLSConnection} for details on which
exceptions might be raised.
 
@type host: str
@param host: Server to connect to.
 
@type port: int
@param port: Port to connect to.
 
@type username: str
@param username: SRP or shared-key username.  Requires the
'password' or 'sharedKey' argument.
 
@type password: str
@param password: SRP password for mutual authentication.
Requires the 'username' argument.
 
@type sharedKey: str
@param sharedKey: Shared key for mutual authentication.
Requires the 'username' argument.
 
@type certChain: L{tlslite.X509CertChain.X509CertChain} or
L{cryptoIDlib.CertChain.CertChain}
@param certChain: Certificate chain for client authentication.
Requires the 'privateKey' argument.  Excludes the SRP or
shared-key related arguments.
 
@type privateKey: L{tlslite.utils.RSAKey.RSAKey}
@param privateKey: Private key for client authentication.
Requires the 'certChain' argument.  Excludes the SRP or
shared-key related arguments.
 
@type cryptoID: str
@param cryptoID: cryptoID for server authentication.  Mutually
exclusive with the 'x509...' arguments.
 
@type protocol: str
@param protocol: cryptoID protocol URI for server
authentication.  Requires the 'cryptoID' argument.
 
@type x509Fingerprint: str
@param x509Fingerprint: Hex-encoded X.509 fingerprint for
server authentication.  Mutually exclusive with the 'cryptoID'
and 'x509TrustList' arguments.
 
@type x509TrustList: list of L{tlslite.X509.X509}
@param x509TrustList: A list of trusted root certificates.  The
other party must present a certificate chain which extends to
one of these root certificates.  The cryptlib_py module must be
installed to use this parameter.  Mutually exclusive with the
'cryptoID' and 'x509Fingerprint' arguments.
 
@type x509CommonName: str
@param x509CommonName: The end-entity certificate's 'CN' field
must match this value.  For a web server, this is typically a
server name such as 'www.amazon.com'.  Mutually exclusive with
the 'cryptoID' and 'x509Fingerprint' arguments.  Requires the
'x509TrustList' argument.
 
@type settings: L{tlslite.HandshakeSettings.HandshakeSettings}
@param settings: Various settings which can be used to control
the ciphersuites, certificate types, and SSL/TLS versions
offered by the client.

Methods inherited from poplib.POP3:
apop(self, user, secret)
Authorisation
 
- only possible if server has supplied a timestamp in initial greeting.
 
Args:
        user    - mailbox user;
        secret  - secret shared between client and server.
 
NB: mailbox is locked by server from here to 'quit()'
dele(self, which)
Delete message number 'which'.
 
Result is 'response'.
getwelcome(self)
list(self, which=None)
Request listing, return result.
 
Result without a message number argument is in form
['response', ['mesg_num octets', ...], octets].
 
Result when a message number argument is given is a
single response: the "scan listing" for that message.
noop(self)
Does nothing.
 
One supposes the response indicates the server is alive.
pass_(self, pswd)
Send password, return response
 
(response includes message count, mailbox size).
 
NB: mailbox is locked by server from here to 'quit()'
quit(self)
Signoff: commit changes on server, unlock mailbox, close connection.
retr(self, which)
Retrieve whole message number 'which'.
 
Result is in form ['response', ['line', ...], octets].
rpop(self, user)
Not sure what this does.
rset(self)
Unmark all messages marked for deletion.
set_debuglevel(self, level)
stat(self)
Get mailbox status.
 
Result is tuple of 2 ints (message count, mailbox size)
top(self, which, howmuch)
Retrieve message header of message number 'which'
and first 'howmuch' lines of message body.
 
Result is in form ['response', ['line', ...], octets].
uidl(self, which=None)
Return message digest (unique id) list.
 
If 'which', result contains unique id for that message
in the form 'response mesgnum uid', otherwise result is
the list ['response', ['mesgnum uid', ...], octets]
user(self, user)
Send user name, return response
 
(should indicate password required).

Data and other attributes inherited from poplib.POP3:
timestamp = <_sre.SRE_Pattern object>

 
Data
        POP3_TLS_PORT = 995