Part of twisted.protocols View Source
ISSLTransport)
as an IProtocol layered on top of any ITransport 
implementation, based on OpenSSL's memory BIO features.
TLSMemoryBIOFactory
is a WrappingFactory
which wraps protocols created by the factory it wraps with TLSMemoryBIOProtocol.
TLSMemoryBIOProtocol
intercedes between the underlying transport and the wrapped protocol to 
implement SSL and TLS.  Typical usage of this module looks like this:
from twisted.protocols.tls import TLSMemoryBIOFactory from twisted.internet.protocol import ServerFactory from twisted.internet.ssl import PrivateCertificate from twisted.internet import reactor from someapplication import ApplicationProtocol serverFactory = ServerFactory() serverFactory.protocol = ApplicationProtocol certificate = PrivateCertificate.loadPEM(certPEMData) contextFactory = certificate.options() tlsFactory = TLSMemoryBIOFactory(contextFactory, False, serverFactory) reactor.listenTCP(12345, tlsFactory) reactor.run()
Because the reactor's SSL and TLS APIs are likely implemented in a more 
efficient way, it is more common to use them (see IReactorSSL 
and ITLSTransport).  However, this API offers somewhat more 
flexibility; for example, a TLSMemoryBIOProtocol
instance can use another instance of TLSMemoryBIOProtocol
as its transport, yielding TLS over TLS - useful to implement onion 
routing.  Or it can be used to run TLS over a UNIX socket, or over stdio to
a child process.
| Class | TLSMemoryBIOProtocol | TLSMemoryBIOProtocol
is a protocol wrapper which uses OpenSSL via a | 
  
| Class | TLSMemoryBIOFactory | TLSMemoryBIOFactory
adds TLS to connections. |