tlslite.handshakehelpers module
Class with various handshake helpers.
- class tlslite.handshakehelpers.HandshakeHelpers[source]
Bases:
object
This class encapsulates helper functions to be used with a TLS handshake.
- static alignClientHelloPadding(clientHello)[source]
Align ClientHello using the Padding extension to 512 bytes at least.
- Parameters:
clientHello (ClientHello) – ClientHello to be aligned
- static calc_res_binder_psk(iden, res_master_secret, tickets)[source]
Calculate PSK associated with provided ticket identity.
- static update_binders(client_hello, handshake_hashes, psk_configs, tickets=None, res_master_secret=None)[source]
Sign the Client Hello using TLS 1.3 PSK binders.
note: the psk_configs should be in the same order as the ones in the PreSharedKeyExtension extension (extra ones are ok)
- Parameters:
client_hello – ClientHello to sign
handshake_hashes – hashes of messages exchanged so far
psk_configs – PSK identities and secrets
tickets – optional list of tickets received from server
res_master_secret (bytearray) – secret associated with the tickets
- static verify_binder(client_hello, handshake_hashes, position, secret, prf, external=True)[source]
Verify the PSK binder value in client hello.
- Parameters:
client_hello – ClientHello to verify
handshake_hashes – hashes of messages exchanged so far
position – binder at which position should be verified
secret – the secret PSK
prf – name of the hash used as PRF