# ``twisted`.`internet`.`interfaces`.`ITLSTransport``

interface documentation

`class ITLSTransport(ITCPTransport): (source)`

Known implementations: `twisted.internet.iocpreactor.tcp.Connection`

View In Hierarchy

A TCP transport that supports switching to TLS midstream.

Once TLS mode is started the transport will implement `ISSLTransport`.

Method | `startTLS` | Initiate TLS negotiation.

Inherited from `ITCPTransport`:

Method | `abortConnection` | Close the connection abruptly.
Method | `getHost` | Returns `IPv4Address` or `IPv6Address`.
Method | `getPeer` | Returns `IPv4Address` or `IPv6Address`.
Method | `getTcpKeepAlive` | Return if `SO_KEEPALIVE` is enabled.
Method | `getTcpNoDelay` | Return if `TCP_NODELAY` is enabled.
Method | `loseWriteConnection` | Half-close the write side of a TCP connection.
Method | `setTcpKeepAlive` | Enable/disable `SO_KEEPALIVE`.
Method | `setTcpNoDelay` | Enable/disable `TCP_NODELAY`.

Inherited from `ITransport` (via `ITCPTransport`):

Method | `loseConnection` | Close my connection, after writing all pending data.
Method | `write` | Write some data to the physical connection, in sequence, in a non-blocking fashion.
Method | `writeSequence` | Write an iterable of byte strings to the physical connection.

def startTLS(contextFactory): (source)
Initiate TLS negotiation.

Parameters

contextFactory:`IOpenSSLClientConnectionCreator` or `IOpenSSLServerConnectionCreator`, depending on whether this `ITLSTransport` is a server or not. If the appropriate interface is not provided by the value given for `contextFactory`, it must be an implementor of `IOpenSSLContextFactory`.

An object which creates appropriately configured TLS connections.

For clients, use `twisted.internet.ssl.optionsForClientTLS`; for servers, use `twisted.internet.ssl.CertificateOptions`.