Part of twisted.protocols View Source
Implementation of a TLS transport (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 | No summary |
Class | TLSMemoryBIOFactory | TLSMemoryBIOFactory
adds TLS to connections.
|