__init__(self,
username=None,
password=None,
certChain=None,
privateKey=None,
x509Fingerprint=None,
tackID=None,
hardTack=None,
settings=None)
(Constructor)
| source code
|
Create a new XMLRPCTransport.
An instance of this class can be passed to xmlrpclib.ServerProxy to use TLS with XML-RPC
calls:
from tlslite import XMLRPCTransport
from xmlrpclib import ServerProxy
transport = XMLRPCTransport(user="alice", password="abra123")
server = ServerProxy("https://localhost", transport)
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:
Certificate-based server authentication is compatible with SRP or
certificate-based client authentication.
The constructor does not perform the TLS handshake itself, but simply
stores these arguments for later. The handshake is performed only when
this class needs to connect with the server. Thus you should be prepared
to handle TLS-specific exceptions when calling methods of xmlrpclib.ServerProxy . See the client handshake
functions in tlslite.TLSConnection.TLSConnection for details on which
exceptions might be raised.
- Parameters:
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.
x509Fingerprint (str) - Hex-encoded X.509 fingerprint for server authentication.
tackID (str) - TACK ID for server authentication.
hardTack (bool) - Whether to raise TackBreakSigError on TACK Break.
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:
clienthelper.ClientHelper.__init__
|