class documentation

Use, or subclass, me to implement a command that starts TLS.

Callers of StartTLS may pass several special arguments, which affect the TLS negotiation:

  • tls_localCertificate: This is a twisted.internet.ssl.PrivateCertificate which will be used to secure the side of the connection it is returned on.
  • tls_verifyAuthorities: This is a list of twisted.internet.ssl.Certificate objects that will be used as the certificate authorities to verify our peer's certificate.

Each of those special parameters may also be present as a key in the response dictionary.

Method __init__ Create a StartTLS command. (This is private. Use AMP.callRemote.)
Class Variable arguments Undocumented
Class Variable response Undocumented
Instance Variable authorities Undocumented
Instance Variable certificate Undocumented
Method _doCommand When a StartTLS command is sent, prepare to start TLS, but don't actually do it; wait for the acknowledgement, then initiate the TLS handshake.

Inherited from Command:

Class Method makeArguments Serialize a mapping of arguments using this Command's argument schema.
Class Method makeResponse Serialize a mapping of arguments using this Command's response schema.
Class Method parseArguments Parse a mapping of serialized arguments using this Command's argument schema.
Class Method parseResponse Parse a mapping of serialized arguments using this Command's response schema.
Class Method responder Declare a method to be a responder for a particular command.
Class Variable commandName Undocumented
Class Variable commandType The type of Box used to issue commands; useful only for protocol-modifying behavior like startTLS or protocol switching. Defaults to a plain vanilla Box.
Class Variable errors A mapping of subclasses of Exception to wire-protocol tags for errors represented as strs. Responders which raise keys from this dictionary will have the error translated to the corresponding tag on the wire...
Class Variable extra Undocumented
Class Variable fatalErrors like 'errors', but errors in this list will always terminate the connection, despite being of a recognizable error type.
Class Variable responseType The type of Box used to respond to this command; only useful for protocol-modifying behavior like startTLS or protocol switching. Defaults to a plain vanilla Box.
Instance Variable requiresAnswer a boolean; defaults to True. Set it to False on your subclass if you want callRemote to return None. Note: this is a hint only to the client side of the protocol. The return-type of a command responder method must always be a dictionary adhering to the contract specified by ...
Instance Variable structured Undocumented
def __init__(self, *, tls_localCertificate=None, tls_verifyAuthorities=None, **kw): (source)

Create a StartTLS command. (This is private. Use AMP.callRemote.)

Parameters
tls_localCertificatethe PrivateCertificate object to use to secure the connection. If it's None, or unspecified, an ephemeral DH key is used instead.
tls_verifyAuthoritiesa list of Certificate objects which represent root certificates to verify our peer with.
**kwUndocumented
authorities = (source)

Undocumented

certificate = (source)

Undocumented

def _doCommand(self, proto): (source)

When a StartTLS command is sent, prepare to start TLS, but don't actually do it; wait for the acknowledgement, then initiate the TLS handshake.