class documentation

class twisted.internet._sslverify.ClientTLSOptions: (source)

View In Hierarchy

Client creator for TLS.

Private implementation type (not exposed to applications) for public optionsForClientTLS API.

Method __init__ Initialize ClientTLSOptions.
Method clientConnectionForTLS Create a TLS connection for a client.
Instance Variable _ctx The context to use for new connections.
Instance Variable _hostname The hostname to verify, as specified by the application, as some human-readable text.
Instance Variable _hostnameBytes The hostname to verify, decoded into IDNA-encoded bytes. This is passed to APIs which think that hostnames are bytes, such as OpenSSL's SNI implementation.
Instance Variable _hostnameASCII The hostname, as transcoded into IDNA ASCII-range unicode code points. This is pre-transcoded because the service_identity package is rather strict about requiring the idna package from PyPI for internationalized domain names, rather than working with Python's built-in (but sometimes broken) IDNA encoding. ASCII values, however, will always work.
Instance Variable _hostnameIsDnsName Whether or not the _hostname is a DNSName. Will be False if _hostname is an IP address or True if _hostname is a DNSName
Method _identityVerifyingInfoCallback No summary
_ctx = (source)
The context to use for new connections.
(type: OpenSSL.SSL.Context)
_hostname = (source)
The hostname to verify, as specified by the application, as some human-readable text.
(type: unicode)
_hostnameBytes = (source)
The hostname to verify, decoded into IDNA-encoded bytes. This is passed to APIs which think that hostnames are bytes, such as OpenSSL's SNI implementation.
(type: bytes)
_hostnameASCII = (source)
The hostname, as transcoded into IDNA ASCII-range unicode code points. This is pre-transcoded because the service_identity package is rather strict about requiring the idna package from PyPI for internationalized domain names, rather than working with Python's built-in (but sometimes broken) IDNA encoding. ASCII values, however, will always work.
(type: unicode)
_hostnameIsDnsName = (source)
Whether or not the _hostname is a DNSName. Will be False if _hostname is an IP address or True if _hostname is a DNSName
(type: bool)
def __init__(self, hostname, ctx): (source)

Initialize ClientTLSOptions.

ParametershostnameThe hostname to verify as input by a human. (type: unicode)
ctxan OpenSSL.SSL.Context to use for new connections. (type: OpenSSL.SSL.Context.)
def clientConnectionForTLS(self, tlsProtocol): (source)

Create a TLS connection for a client.

ParameterstlsProtocolthe TLS protocol initiating the connection. (type: twisted.protocols.tls.TLSMemoryBIOProtocol)
Returnsthe configured client connection. (type: OpenSSL.SSL.Connection)
NoteThis will call set_app_data on its connection. If you're delegating to this implementation of this method, don't ever call set_app_data or set_info_callback on the returned connection, or you'll break the implementation of various features of this class.
def _identityVerifyingInfoCallback(self, connection, where, ret): (source)

info_callback <http://pythonhosted.org/pyOpenSSL/api/ssl.html#OpenSSL.SSL.Context.set_info_callback> for pyOpenSSL that verifies the hostname in the presented certificate matches the one passed to this ClientTLSOptions.

Parametersconnectionthe connection which is handshaking. (type: OpenSSL.SSL.Connection)
whereflags indicating progress through a TLS handshake. (type: int)
retignored (type: ignored)
API Documentation for Twisted, generated by pydoctor 20.12.1 at 2021-02-28 19:53:36.