tlslite.handshakesettings.HandshakeSettings

Package tlslite :: Module handshakesettings :: Class HandshakeSettings |
[hide private]
[frames] | no frames]

# Class HandshakeSettings

source code

    object --+
             |
            HandshakeSettings

This class encapsulates various parameters that can be used with a TLS handshake.

Instance Methods | [hide private]
__init__(self) x.__init__(...) initializes x; see help(type(x)) for signature | source code
_filter(self) | source code
_getCertificateTypes(self) | source code
Inherited from `object`: `__delattr__`, `__format__`, `__getattribute__`, `__hash__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__repr__`, `__setattr__`, `__sizeof__`, `__str__`, `__subclasshook__`

Instance Variables | [hide private]
int | minKeySize The minimum bit length for asymmetric keys.
int | maxKeySize The maximum bit length for asymmetric keys.
list | cipherNames The allowed ciphers, in order of preference.
list | macNames The allowed MAC algorithms.
list | certificateTypes The allowed certificate types, in order of preference.
tuple | minVersion The minimum allowed SSL/TLS version.
tuple | maxVersion The maximum allowed SSL/TLS version.
bool | useExperimentalTackExtension Whether to enabled TACK support.

Properties | [hide private]
Inherited from `object`: `__class__`

Method Details | [hide private]

### __init__(self) (Constructor) | source code
x.__init__(...) initializes x; see help(type(x)) for signature Overrides: object.__init__ (inherited documentation)

Instance Variable Details | [hide private]

### minKeySize The minimum bit length for asymmetric keys. If the other party tries to use SRP, RSA, or Diffie-Hellman parameters smaller than this length, an alert will be signalled. The default is 1023. Type: int

### maxKeySize The maximum bit length for asymmetric keys. If the other party tries to use SRP, RSA, or Diffie-Hellman parameters larger than this length, an alert will be signalled. The default is 8193. Type: int

### cipherNames The allowed ciphers, in order of preference. The allowed values in this list are 'aes256', 'aes128', '3des', and 'rc4'. If these settings are used with a client handshake, they determine the order of the ciphersuites offered in the ClientHello message. If these settings are used with a server handshake, the server will choose whichever ciphersuite matches the earliest entry in this list. NOTE: If '3des' is used in this list, but TLS Lite can't find an add-on library that supports 3DES, then '3des' will be silently removed. The default value is ['rc4', 'aes256', 'aes128', '3des']. Type: list

### macNames The allowed MAC algorithms. The allowed values in this list are 'sha' and 'md5'. The default value is ['sha']. Type: list

### certificateTypes The allowed certificate types, in order of preference. The only allowed certificate type is 'x509'. This list is only used with a client handshake. The client will advertise to the server which certificate types are supported, and will check that the server uses one of the appropriate types. Type: list

### minVersion The minimum allowed SSL/TLS version. This variable can be set to (3,0) for SSL 3.0, (3,1) for TLS 1.0, (3,2) for TLS 1.1, or (3,3) for TLS 1.2. If the other party wishes to use a lower version, a protocol_version alert will be signalled. The default is (3,1). Type: tuple

### maxVersion The maximum allowed SSL/TLS version. This variable can be set to (3,0) for SSL 3.0, (3,1) for TLS 1.0, (3,2) for TLS 1.1, or (3,3) for TLS 1.2. If the other party wishes to use a higher version, a protocol_version alert will be signalled. The default is (3,3). (WARNING: Some servers may (improperly) reject clients which offer support for TLS 1.1. In this case, try lowering maxVersion to (3,1)). Type: tuple

### useExperimentalTackExtension Whether to enabled TACK support. Note that TACK support is not standardized by IETF and uses a temporary TLS Extension number, so should NOT be used in production software. Type: bool