class documentation

TLSMemoryBIOFactory adds TLS to connections.

Method __init__ Create a TLSMemoryBIOFactory.
Method logPrefix Annotate the wrapped factory's log prefix with some text indicating TLS is in use.
Class Variable noisy Undocumented
Instance Variable _clock Undocumented
Instance Variable _creatorCallable A callable for creating an OpenSSL.SSL.Connection from a TLSMemoryBIOProtocol.

Inherited from WrappingFactory:

Method buildProtocol Create an instance of a subclass of Protocol.
Method clientConnectionFailed Called when a connection has failed to connect.
Method clientConnectionLost Called when an established connection is lost.
Method doStart Make sure startFactory is called.
Method doStop Make sure stopFactory is called.
Method registerProtocol Called by protocol to register itself.
Method startedConnecting Called when a connection has been started.
Method unregisterProtocol Called by protocols when they go away.
Instance Variable protocols Undocumented
Instance Variable wrappedFactory Undocumented

Inherited from Factory (via WrappingFactory, ClientFactory):

Class Method forProtocol Create a factory for the given protocol.
Method startFactory This will be called before I begin listening on a Port or Connector.
Method stopFactory This will be called before I stop listening on all Ports/Connectors.
Class Variable protocol Undocumented
Instance Variable numPorts Undocumented
def __init__(self, contextFactory: SomeConnectionCreator, isClient: bool, wrappedFactory: IProtocolFactory, clock: IReactorTime | None = None): (source)

Create a TLSMemoryBIOFactory.

Parameters
contextFactory:IOpenSSLClientConnectionCreator or IOpenSSLServerConnectionCreator, or, for compatibility with older code, anything implementing twisted.internet.interfaces.IOpenSSLContextFactory. See https://twistedmatrix.com/trac/ticket/7215 for information on the upcoming deprecation of passing a twisted.internet.ssl.ContextFactory here.

Configuration parameters used to create an OpenSSL connection. In order of preference, what you should pass here should be:

  1. twisted.internet.ssl.CertificateOptions (if you're writing a server) or the result of twisted.internet.ssl.optionsForClientTLS (if you're writing a client). If you want security you should really use one of these.
  2. If you really want to implement something yourself, supply a provider of IOpenSSLClientConnectionCreator or IOpenSSLServerConnectionCreator.
  3. If you really have to, supply a twisted.internet.ssl.ContextFactory. This will likely be deprecated at some point so please upgrade to the new interfaces.
isClient:boolIs this a factory for TLS client connections; in other words, those that will send a ClientHello greeting? True if so, False otherwise. This flag determines what interface is expected of contextFactory. If True, contextFactory should provide IOpenSSLClientConnectionCreator; otherwise it should provide IOpenSSLServerConnectionCreator.
wrappedFactory:twisted.internet.interfaces.IProtocolFactoryA factory which will create the application-level protocol.
clock:IReactorTime | NoneUndocumented
def logPrefix(self): (source)

Annotate the wrapped factory's log prefix with some text indicating TLS is in use.

Returns
strUndocumented

Undocumented

_creatorCallable = (source)

A callable for creating an OpenSSL.SSL.Connection from a TLSMemoryBIOProtocol.