scapy.layers.tls.automaton_srv

TLS server automaton. This makes for a primitive TLS stack. Obviously you need rights for network access.

We support versions SSLv2 to TLS 1.3, along with many features.

In order to run a server listening on tcp/4433:

from scapy.layers.tls import *
t = TLSServerAutomaton(mycert='<cert.pem>', mykey='<key.pem>')
t.run()
class scapy.layers.tls.automaton_srv.TLSServerAutomaton(self, server='127.0.0.1', sport=4433, mycert=None, mykey=None, preferred_ciphersuite=None, client_auth=False, is_echo_server=True, max_client_idle_time=60, handle_session_ticket=None, session_ticket_file=None, curve=None, cookie=False, psk=None, psk_mode=None, **kargs)[source]

Bases: _TLSAutomaton

A simple TLS test server automaton. Try to overload some states or conditions and see what happens on the other side.

Because of socket and automaton limitations, for now, the best way to interrupt the server is by sending him ‘stop_server’. Interruptions with Ctrl-Z should work, but this might leave a loose listening socket behind.

In case the server receives a TLSAlert (whatever its type), or a ‘goodbye’ message in a SSLv2 version, he will close the client session with a similar message, and start waiting for new client connections.

_’mycert’ and ‘mykey’ may be provided as filenames. They are needed for any server authenticated handshake. _’preferred_ciphersuite’ allows the automaton to choose a cipher suite when offered in the ClientHello. If absent, another one will be chosen. _’client_auth’ means the client has to provide a certificate. _’is_echo_server’ means that everything received will be sent back. _’max_client_idle_time’ is the maximum silence duration from the client. Once this limit has been reached, the client (if still here) is dropped, and we wait for a new connection.

ADDED_CERTIFICATE(*args: ATMT, **kargs: Any) NewStateRequested[source]
ADDED_CERTIFICATEREQUEST(*args: ATMT, **kargs: Any) NewStateRequested[source]
ADDED_CHANGECIPHERSPEC(*args: ATMT, **kargs: Any) NewStateRequested[source]
ADDED_SERVERDATA(*args: ATMT, **kargs: Any) NewStateRequested[source]
ADDED_SERVERFINISHED(*args: ATMT, **kargs: Any) NewStateRequested[source]
ADDED_SERVERHELLO(*args: ATMT, **kargs: Any) NewStateRequested[source]
ADDED_SERVERHELLODONE(*args: ATMT, **kargs: Any) NewStateRequested[source]
ADDED_SERVERKEYEXCHANGE(*args: ATMT, **kargs: Any) NewStateRequested[source]
BIND(*args: ATMT, **kargs: Any) NewStateRequested[source]
CLOSE_NOTIFY(*args: ATMT, **kargs: Any) NewStateRequested[source]
CLOSE_NOTIFY_FINAL(*args: ATMT, **kargs: Any) NewStateRequested[source]
FINAL(*args: ATMT, **kargs: Any) NewStateRequested[source]
HANDLED_ALERT_FROM_CHANGECIPHERSPEC(*args: ATMT, **kargs: Any) NewStateRequested[source]
HANDLED_ALERT_FROM_CLIENTCERTIFICATE(*args: ATMT, **kargs: Any) NewStateRequested[source]
HANDLED_ALERT_FROM_CLIENTKEYEXCHANGE(*args: ATMT, **kargs: Any) NewStateRequested[source]
HANDLED_CERTIFICATEVERIFY(*args: ATMT, **kargs: Any) NewStateRequested[source]
HANDLED_CHANGECIPHERSPEC(*args: ATMT, **kargs: Any) NewStateRequested[source]
HANDLED_CLIENTCERTIFICATE(*args: ATMT, **kargs: Any) NewStateRequested[source]
HANDLED_CLIENTDATA(*args: ATMT, **kargs: Any) NewStateRequested[source]
HANDLED_CLIENTFINISHED(*args: ATMT, **kargs: Any) NewStateRequested[source]
HANDLED_CLIENTHELLO(*args: ATMT, **kargs: Any) NewStateRequested[source]
HANDLED_CLIENTKEYEXCHANGE(*args: ATMT, **kargs: Any) NewStateRequested[source]
INITIAL(*args: ATMT, **kargs: Any) NewStateRequested[source]
INIT_TLS_SESSION(*args: ATMT, **kargs: Any) NewStateRequested[source]
MISSING_CERTIFICATEVERIFY(*args: ATMT, **kargs: Any) NewStateRequested[source]
MISSING_CHANGECIPHERSPEC(*args: ATMT, **kargs: Any) NewStateRequested[source]
MISSING_CLIENTCERTIFICATE(*args: ATMT, **kargs: Any) NewStateRequested[source]
MISSING_CLIENTFINISHED(*args: ATMT, **kargs: Any) NewStateRequested[source]
MISSING_CLIENTHELLO(*args: ATMT, **kargs: Any) NewStateRequested[source]
MISSING_CLIENTKEYEXCHANGE(*args: ATMT, **kargs: Any) NewStateRequested[source]
NO_USABLE_CIPHERSUITE(*args: ATMT, **kargs: Any) NewStateRequested[source]
PREPARE_SERVERFLIGHT1(*args: ATMT, **kargs: Any) NewStateRequested[source]
PREPARE_SERVERFLIGHT2(*args: ATMT, **kargs: Any) NewStateRequested[source]
RECEIVED_CLIENTDATA(*args: ATMT, **kargs: Any) NewStateRequested[source]
RECEIVED_CLIENTFLIGHT1(*args: ATMT, **kargs: Any) NewStateRequested[source]
RECEIVED_CLIENTFLIGHT2(*args: ATMT, **kargs: Any) NewStateRequested[source]
SENT_SERVERDATA(*args: ATMT, **kargs: Any) NewStateRequested[source]
SENT_SERVERFLIGHT2(*args: ATMT, **kargs: Any) NewStateRequested[source]
SOCKET_CLOSED(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_ADDED_REQUESTCERTIFICATE(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_ADDED_SERVERDATA(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_ADDED_SERVERFINISHED(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_ADDED_SERVERHELLO(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_ADDED_SERVERVERIFY(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_CLOSE_NOTIFY(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_CLOSE_NOTIFY_FINAL(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_HANDLED_CLIENTCERTIFICATE(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_HANDLED_CLIENTDATA(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_HANDLED_CLIENTFINISHED(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_HANDLED_CLIENTHELLO(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_HANDLED_CLIENTMASTERKEY(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_MISSING_CLIENTCERTIFICATE(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_MISSING_CLIENTFINISHED(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_MISSING_CLIENTMASTERKEY(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_RECEIVED_CLIENTCERTIFICATE(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_RECEIVED_CLIENTDATA(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_RECEIVED_CLIENTFINISHED(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_RECEIVED_CLIENTMASTERKEY(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_SENT_REQUESTCERTIFICATE(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_SENT_SERVERDATA(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_SENT_SERVERFINISHED(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_SENT_SERVERHELLO(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_SENT_SERVERVERIFY(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_WAITING_CLIENTCERTIFICATE(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_WAITING_CLIENTDATA(*args: ATMT, **kargs: Any) NewStateRequested[source]
SSLv2_WAITING_CLIENTMASTERKEY(*args: ATMT, **kargs: Any) NewStateRequested[source]
TLS13_HANDLED_ALERT_FROM_CLIENTCERTIFICATE(*args: ATMT, **kargs: Any) NewStateRequested[source]
TLS13_HANDLED_CLIENTCERTIFICATE(*args: ATMT, **kargs: Any) NewStateRequested[source]
TLS13_HANDLED_CLIENTFINISHED(*args: ATMT, **kargs: Any) NewStateRequested[source]
TLS13_HANDLED_CLIENT_CERTIFICATEVERIFY(*args: ATMT, **kargs: Any) NewStateRequested[source]
TLS13_MISSING_CLIENTCERTIFICATE(*args: ATMT, **kargs: Any) NewStateRequested[source]
WAITING_CLIENT(*args: ATMT, **kargs: Any) NewStateRequested[source]
WAITING_CLIENTDATA(*args: ATMT, **kargs: Any) NewStateRequested[source]
WAITING_CLIENTFLIGHT1(*args: ATMT, **kargs: Any) NewStateRequested[source]
WAITING_CLIENTFLIGHT2(*args: ATMT, **kargs: Any) NewStateRequested[source]
actions: Dict[str, List[_StateWrapper]] = {'close_session': [], 'close_session_final': [], 'missing_ChangeCipherSpec': [], 'missing_ClientFinished': [], 'missing_ClientHello': [], 'missing_ClientKeyExchange': [], 'missing_ClientMasterKey': [], 'no_CertificateVerify': [], 'no_ClientCertificate': [], 'should_add_Certificate': [], 'should_add_CertificateRequest': [], 'should_add_ChangeCipherSpec': [], 'should_add_ServerFinished': [], 'should_add_ServerHello': [], 'should_add_ServerHelloDone': [], 'should_add_ServerKeyExchange': [], 'should_handle_Alert_from_ClientCertificate': [], 'should_handle_Alert_from_ClientFinished': [], 'should_handle_Alert_from_ClientKeyExchange': [], 'should_handle_CertificateVerify': [], 'should_handle_ChangeCipherSpec': [], 'should_handle_ClientCertificate': [], 'should_handle_ClientData': [], 'should_handle_ClientFinished': [], 'should_handle_ClientHello': [], 'should_handle_ClientKeyExchange': [], 'should_send_ServerData': [], 'should_send_ServerFlight1': [], 'should_send_ServerFlight2': [], 'sslv2_close_session': [], 'sslv2_close_session_final': [], 'sslv2_missing_ClientCertificate': [], 'sslv2_missing_ClientFinished': [], 'sslv2_should_add_RequestCertificate': [], 'sslv2_should_add_ServerFinished': [], 'sslv2_should_add_ServerHello': [], 'sslv2_should_add_ServerVerify_from_ClientFinished': [], 'sslv2_should_add_ServerVerify_from_NoClientFinished': [], 'sslv2_should_handle_ClientCertificate': [], 'sslv2_should_handle_ClientData': [], 'sslv2_should_handle_ClientFinished': [], 'sslv2_should_handle_ClientHello': [], 'sslv2_should_handle_ClientMasterKey': [], 'sslv2_should_send_RequestCertificate': [], 'sslv2_should_send_ServerData': [], 'sslv2_should_send_ServerFinished': [], 'sslv2_should_send_ServerHello': [], 'sslv2_should_send_ServerVerify': [], 'tls13_no_ClientCertificate': [], 'tls13_no_Client_CertificateVerify': [], 'tls13_should_add_Certificate': [], 'tls13_should_add_CertificateRequest': [], 'tls13_should_add_CertificateVerifiy': [], 'tls13_should_add_EncryptedExtensions': [], 'tls13_should_add_Finished': [], 'tls13_should_add_HelloRetryRequest': [], 'tls13_should_add_ServerHello': [], 'tls13_should_add_ServerHello_from_HRR': [], 'tls13_should_handle_Alert_from_ClientCertificate': [], 'tls13_should_handle_ClientCCS': [], 'tls13_should_handle_ClientCertificateVerify': [], 'tls13_should_handle_ClientFinished': [], 'tls13_should_handle_ClientFlight2': [], 'tls13_should_handle_ClientHello': [], 'tls13_should_send_ServerFlight1': []}
breakpoints: Set[_StateWrapper]
close_session()[source]
close_session_final()[source]
conditions: Dict[str, List[_StateWrapper]] = {'ADDED_CERTIFICATE': [<function TLSServerAutomaton.should_add_ServerKeyExchange>], 'ADDED_CERTIFICATEREQUEST': [<function TLSServerAutomaton.should_add_ServerHelloDone>], 'ADDED_CHANGECIPHERSPEC': [<function TLSServerAutomaton.should_add_ServerFinished>], 'ADDED_SERVERDATA': [<function TLSServerAutomaton.should_send_ServerData>], 'ADDED_SERVERFINISHED': [<function TLSServerAutomaton.should_send_ServerFlight2>], 'ADDED_SERVERHELLO': [<function TLSServerAutomaton.should_add_Certificate>], 'ADDED_SERVERHELLODONE': [<function TLSServerAutomaton.should_send_ServerFlight1>], 'ADDED_SERVERKEYEXCHANGE': [<function TLSServerAutomaton.should_add_CertificateRequest>], 'BIND': [], 'CLOSE_NOTIFY': [<function TLSServerAutomaton.close_session>], 'CLOSE_NOTIFY_FINAL': [<function TLSServerAutomaton.close_session_final>], 'FINAL': [], 'HANDLED_ALERT_FROM_CHANGECIPHERSPEC': [], 'HANDLED_ALERT_FROM_CLIENTCERTIFICATE': [], 'HANDLED_ALERT_FROM_CLIENTKEYEXCHANGE': [], 'HANDLED_CERTIFICATEVERIFY': [<function TLSServerAutomaton.should_handle_ChangeCipherSpec>, <function TLSServerAutomaton.should_handle_Alert_from_ClientKeyExchange>, <function TLSServerAutomaton.missing_ChangeCipherSpec>], 'HANDLED_CHANGECIPHERSPEC': [<function TLSServerAutomaton.should_handle_ClientFinished>, <function TLSServerAutomaton.should_handle_Alert_from_ClientFinished>, <function TLSServerAutomaton.missing_ClientFinished>], 'HANDLED_CLIENTCERTIFICATE': [<function TLSServerAutomaton.should_handle_ClientKeyExchange>, <function TLSServerAutomaton.should_handle_Alert_from_ClientCertificate>, <function TLSServerAutomaton.missing_ClientKeyExchange>], 'HANDLED_CLIENTDATA': [], 'HANDLED_CLIENTFINISHED': [], 'HANDLED_CLIENTHELLO': [], 'HANDLED_CLIENTKEYEXCHANGE': [<function TLSServerAutomaton.should_handle_CertificateVerify>, <function TLSServerAutomaton.no_CertificateVerify>], 'INITIAL': [], 'INIT_TLS_SESSION': [], 'MISSING_CERTIFICATEVERIFY': [], 'MISSING_CHANGECIPHERSPEC': [], 'MISSING_CLIENTCERTIFICATE': [], 'MISSING_CLIENTFINISHED': [], 'MISSING_CLIENTHELLO': [], 'MISSING_CLIENTKEYEXCHANGE': [], 'NO_USABLE_CIPHERSUITE': [], 'PREPARE_SERVERFLIGHT1': [<function TLSServerAutomaton.should_add_ServerHello>], 'PREPARE_SERVERFLIGHT2': [<function TLSServerAutomaton.should_add_ChangeCipherSpec>], 'RECEIVED_CLIENTDATA': [<function TLSServerAutomaton.should_handle_ClientData>], 'RECEIVED_CLIENTFLIGHT1': [<function TLSServerAutomaton.tls13_should_handle_ClientHello>, <function TLSServerAutomaton.should_handle_ClientHello>, <function TLSServerAutomaton.sslv2_should_handle_ClientHello>, <function TLSServerAutomaton.missing_ClientHello>], 'RECEIVED_CLIENTFLIGHT2': [<function TLSServerAutomaton.should_handle_ClientCertificate>, <function TLSServerAutomaton.no_ClientCertificate>], 'SENT_SERVERDATA': [], 'SENT_SERVERFLIGHT2': [], 'SOCKET_CLOSED': [], 'SSLv2_ADDED_REQUESTCERTIFICATE': [<function TLSServerAutomaton.sslv2_should_send_RequestCertificate>], 'SSLv2_ADDED_SERVERDATA': [<function TLSServerAutomaton.sslv2_should_send_ServerData>], 'SSLv2_ADDED_SERVERFINISHED': [<function TLSServerAutomaton.sslv2_should_send_ServerFinished>], 'SSLv2_ADDED_SERVERHELLO': [<function TLSServerAutomaton.sslv2_should_send_ServerHello>], 'SSLv2_ADDED_SERVERVERIFY': [<function TLSServerAutomaton.sslv2_should_send_ServerVerify>], 'SSLv2_CLOSE_NOTIFY': [<function TLSServerAutomaton.sslv2_close_session>], 'SSLv2_CLOSE_NOTIFY_FINAL': [<function TLSServerAutomaton.sslv2_close_session_final>], 'SSLv2_HANDLED_CLIENTCERTIFICATE': [], 'SSLv2_HANDLED_CLIENTDATA': [], 'SSLv2_HANDLED_CLIENTFINISHED': [<function TLSServerAutomaton.sslv2_should_add_ServerVerify_from_ClientFinished>, <function TLSServerAutomaton.sslv2_should_add_RequestCertificate>, <function TLSServerAutomaton.sslv2_should_add_ServerFinished>], 'SSLv2_HANDLED_CLIENTHELLO': [<function TLSServerAutomaton.sslv2_should_add_ServerHello>], 'SSLv2_HANDLED_CLIENTMASTERKEY': [], 'SSLv2_MISSING_CLIENTCERTIFICATE': [], 'SSLv2_MISSING_CLIENTFINISHED': [], 'SSLv2_MISSING_CLIENTMASTERKEY': [], 'SSLv2_RECEIVED_CLIENTCERTIFICATE': [<function TLSServerAutomaton.sslv2_should_handle_ClientCertificate>, <function TLSServerAutomaton.sslv2_missing_ClientCertificate>], 'SSLv2_RECEIVED_CLIENTDATA': [<function TLSServerAutomaton.sslv2_should_handle_ClientData>], 'SSLv2_RECEIVED_CLIENTFINISHED': [<function TLSServerAutomaton.sslv2_should_handle_ClientFinished>, <function TLSServerAutomaton.sslv2_should_add_ServerVerify_from_NoClientFinished>, <function TLSServerAutomaton.sslv2_missing_ClientFinished>], 'SSLv2_RECEIVED_CLIENTMASTERKEY': [<function TLSServerAutomaton.sslv2_should_handle_ClientMasterKey>, <function TLSServerAutomaton.missing_ClientMasterKey>], 'SSLv2_SENT_REQUESTCERTIFICATE': [], 'SSLv2_SENT_SERVERDATA': [], 'SSLv2_SENT_SERVERFINISHED': [], 'SSLv2_SENT_SERVERHELLO': [], 'SSLv2_SENT_SERVERVERIFY': [], 'SSLv2_WAITING_CLIENTCERTIFICATE': [], 'SSLv2_WAITING_CLIENTDATA': [], 'SSLv2_WAITING_CLIENTMASTERKEY': [], 'TLS13_HANDLED_ALERT_FROM_CLIENTCERTIFICATE': [], 'TLS13_HANDLED_CLIENTCERTIFICATE': [<function TLSServerAutomaton.tls13_should_handle_ClientCertificateVerify>, <function TLSServerAutomaton.tls13_no_Client_CertificateVerify>], 'TLS13_HANDLED_CLIENTFINISHED': [], 'TLS13_HANDLED_CLIENT_CERTIFICATEVERIFY': [<function TLSServerAutomaton.tls13_should_handle_ClientFinished>], 'TLS13_MISSING_CLIENTCERTIFICATE': [], 'WAITING_CLIENT': [], 'WAITING_CLIENTDATA': [], 'WAITING_CLIENTFLIGHT1': [], 'WAITING_CLIENTFLIGHT2': [], 'tls13_ADDED_CERTIFICATE': [<function TLSServerAutomaton.tls13_should_add_CertificateVerifiy>], 'tls13_ADDED_CERTIFICATEREQUEST': [<function TLSServerAutomaton.tls13_should_add_Certificate>], 'tls13_ADDED_CERTIFICATEVERIFY': [<function TLSServerAutomaton.tls13_should_add_Finished>], 'tls13_ADDED_ENCRYPTEDEXTENSIONS': [<function TLSServerAutomaton.tls13_should_add_CertificateRequest>], 'tls13_ADDED_SERVERFINISHED': [<function TLSServerAutomaton.tls13_should_send_ServerFlight1>], 'tls13_ADDED_SERVERHELLO': [<function TLSServerAutomaton.tls13_should_add_EncryptedExtensions>], 'tls13_HANDLED_CLIENTHELLO': [], 'tls13_HANDLED_HELLORETRYREQUEST': [<function TLSServerAutomaton.tls13_should_add_ServerHello_from_HRR>], 'tls13_PREPARE_HELLORETRYREQUEST': [<function TLSServerAutomaton.tls13_should_add_HelloRetryRequest>], 'tls13_PREPARE_SERVERFLIGHT1': [<function TLSServerAutomaton.tls13_should_add_ServerHello>], 'tls13_RECEIVED_CLIENTFLIGHT2': [<function TLSServerAutomaton.tls13_should_handle_ClientFlight2>, <function TLSServerAutomaton.tls13_should_handle_Alert_from_ClientCertificate>, <function TLSServerAutomaton.tls13_should_handle_ClientCCS>, <function TLSServerAutomaton.tls13_no_ClientCertificate>], 'tls13_WAITING_CLIENTFLIGHT2': []}
eofs: Dict[str, _StateWrapper] = {}
http_sessioninfo()[source]
initial_states: List[_StateWrapper] = [<function ATMT.state.<locals>.deco.<locals>._state_wrapper>]
intercepted_packet: None | Packet
interception_points: Set[_StateWrapper]
ioevents: Dict[str, List[_StateWrapper]] = {'ADDED_CERTIFICATE': [], 'ADDED_CERTIFICATEREQUEST': [], 'ADDED_CHANGECIPHERSPEC': [], 'ADDED_SERVERDATA': [], 'ADDED_SERVERFINISHED': [], 'ADDED_SERVERHELLO': [], 'ADDED_SERVERHELLODONE': [], 'ADDED_SERVERKEYEXCHANGE': [], 'BIND': [], 'CLOSE_NOTIFY': [], 'CLOSE_NOTIFY_FINAL': [], 'FINAL': [], 'HANDLED_ALERT_FROM_CHANGECIPHERSPEC': [], 'HANDLED_ALERT_FROM_CLIENTCERTIFICATE': [], 'HANDLED_ALERT_FROM_CLIENTKEYEXCHANGE': [], 'HANDLED_CERTIFICATEVERIFY': [], 'HANDLED_CHANGECIPHERSPEC': [], 'HANDLED_CLIENTCERTIFICATE': [], 'HANDLED_CLIENTDATA': [], 'HANDLED_CLIENTFINISHED': [], 'HANDLED_CLIENTHELLO': [], 'HANDLED_CLIENTKEYEXCHANGE': [], 'INITIAL': [], 'INIT_TLS_SESSION': [], 'MISSING_CERTIFICATEVERIFY': [], 'MISSING_CHANGECIPHERSPEC': [], 'MISSING_CLIENTCERTIFICATE': [], 'MISSING_CLIENTFINISHED': [], 'MISSING_CLIENTHELLO': [], 'MISSING_CLIENTKEYEXCHANGE': [], 'NO_USABLE_CIPHERSUITE': [], 'PREPARE_SERVERFLIGHT1': [], 'PREPARE_SERVERFLIGHT2': [], 'RECEIVED_CLIENTDATA': [], 'RECEIVED_CLIENTFLIGHT1': [], 'RECEIVED_CLIENTFLIGHT2': [], 'SENT_SERVERDATA': [], 'SENT_SERVERFLIGHT2': [], 'SOCKET_CLOSED': [], 'SSLv2_ADDED_REQUESTCERTIFICATE': [], 'SSLv2_ADDED_SERVERDATA': [], 'SSLv2_ADDED_SERVERFINISHED': [], 'SSLv2_ADDED_SERVERHELLO': [], 'SSLv2_ADDED_SERVERVERIFY': [], 'SSLv2_CLOSE_NOTIFY': [], 'SSLv2_CLOSE_NOTIFY_FINAL': [], 'SSLv2_HANDLED_CLIENTCERTIFICATE': [], 'SSLv2_HANDLED_CLIENTDATA': [], 'SSLv2_HANDLED_CLIENTFINISHED': [], 'SSLv2_HANDLED_CLIENTHELLO': [], 'SSLv2_HANDLED_CLIENTMASTERKEY': [], 'SSLv2_MISSING_CLIENTCERTIFICATE': [], 'SSLv2_MISSING_CLIENTFINISHED': [], 'SSLv2_MISSING_CLIENTMASTERKEY': [], 'SSLv2_RECEIVED_CLIENTCERTIFICATE': [], 'SSLv2_RECEIVED_CLIENTDATA': [], 'SSLv2_RECEIVED_CLIENTFINISHED': [], 'SSLv2_RECEIVED_CLIENTMASTERKEY': [], 'SSLv2_SENT_REQUESTCERTIFICATE': [], 'SSLv2_SENT_SERVERDATA': [], 'SSLv2_SENT_SERVERFINISHED': [], 'SSLv2_SENT_SERVERHELLO': [], 'SSLv2_SENT_SERVERVERIFY': [], 'SSLv2_WAITING_CLIENTCERTIFICATE': [], 'SSLv2_WAITING_CLIENTDATA': [], 'SSLv2_WAITING_CLIENTMASTERKEY': [], 'TLS13_HANDLED_ALERT_FROM_CLIENTCERTIFICATE': [], 'TLS13_HANDLED_CLIENTCERTIFICATE': [], 'TLS13_HANDLED_CLIENTFINISHED': [], 'TLS13_HANDLED_CLIENT_CERTIFICATEVERIFY': [], 'TLS13_MISSING_CLIENTCERTIFICATE': [], 'WAITING_CLIENT': [], 'WAITING_CLIENTDATA': [], 'WAITING_CLIENTFLIGHT1': [], 'WAITING_CLIENTFLIGHT2': [], 'tls13_ADDED_CERTIFICATE': [], 'tls13_ADDED_CERTIFICATEREQUEST': [], 'tls13_ADDED_CERTIFICATEVERIFY': [], 'tls13_ADDED_ENCRYPTEDEXTENSIONS': [], 'tls13_ADDED_SERVERFINISHED': [], 'tls13_ADDED_SERVERHELLO': [], 'tls13_HANDLED_CLIENTHELLO': [], 'tls13_HANDLED_HELLORETRYREQUEST': [], 'tls13_PREPARE_HELLORETRYREQUEST': [], 'tls13_PREPARE_SERVERFLIGHT1': [], 'tls13_RECEIVED_CLIENTFLIGHT2': [], 'tls13_WAITING_CLIENTFLIGHT2': []}
ionames: List[str] = []
iosupersockets: List[SuperSocket] = []
listen_sock: SuperSocket | None
missing_ChangeCipherSpec()[source]
missing_ClientFinished()[source]
missing_ClientHello()[source]
missing_ClientKeyExchange()[source]
missing_ClientMasterKey()[source]
no_CertificateVerify()[source]
no_ClientCertificate()[source]
packets: PacketList
parse_args(server='127.0.0.1', sport=4433, mycert=None, mykey=None, preferred_ciphersuite=None, client_auth=False, is_echo_server=True, max_client_idle_time=60, handle_session_ticket=None, session_ticket_file=None, curve=None, cookie=False, psk=None, psk_mode=None, **kargs)[source]
recv_conditions: Dict[str, List[_StateWrapper]] = {'ADDED_CERTIFICATE': [], 'ADDED_CERTIFICATEREQUEST': [], 'ADDED_CHANGECIPHERSPEC': [], 'ADDED_SERVERDATA': [], 'ADDED_SERVERFINISHED': [], 'ADDED_SERVERHELLO': [], 'ADDED_SERVERHELLODONE': [], 'ADDED_SERVERKEYEXCHANGE': [], 'BIND': [], 'CLOSE_NOTIFY': [], 'CLOSE_NOTIFY_FINAL': [], 'FINAL': [], 'HANDLED_ALERT_FROM_CHANGECIPHERSPEC': [], 'HANDLED_ALERT_FROM_CLIENTCERTIFICATE': [], 'HANDLED_ALERT_FROM_CLIENTKEYEXCHANGE': [], 'HANDLED_CERTIFICATEVERIFY': [], 'HANDLED_CHANGECIPHERSPEC': [], 'HANDLED_CLIENTCERTIFICATE': [], 'HANDLED_CLIENTDATA': [], 'HANDLED_CLIENTFINISHED': [], 'HANDLED_CLIENTHELLO': [], 'HANDLED_CLIENTKEYEXCHANGE': [], 'INITIAL': [], 'INIT_TLS_SESSION': [], 'MISSING_CERTIFICATEVERIFY': [], 'MISSING_CHANGECIPHERSPEC': [], 'MISSING_CLIENTCERTIFICATE': [], 'MISSING_CLIENTFINISHED': [], 'MISSING_CLIENTHELLO': [], 'MISSING_CLIENTKEYEXCHANGE': [], 'NO_USABLE_CIPHERSUITE': [], 'PREPARE_SERVERFLIGHT1': [], 'PREPARE_SERVERFLIGHT2': [], 'RECEIVED_CLIENTDATA': [], 'RECEIVED_CLIENTFLIGHT1': [], 'RECEIVED_CLIENTFLIGHT2': [], 'SENT_SERVERDATA': [], 'SENT_SERVERFLIGHT2': [], 'SOCKET_CLOSED': [], 'SSLv2_ADDED_REQUESTCERTIFICATE': [], 'SSLv2_ADDED_SERVERDATA': [], 'SSLv2_ADDED_SERVERFINISHED': [], 'SSLv2_ADDED_SERVERHELLO': [], 'SSLv2_ADDED_SERVERVERIFY': [], 'SSLv2_CLOSE_NOTIFY': [], 'SSLv2_CLOSE_NOTIFY_FINAL': [], 'SSLv2_HANDLED_CLIENTCERTIFICATE': [], 'SSLv2_HANDLED_CLIENTDATA': [], 'SSLv2_HANDLED_CLIENTFINISHED': [], 'SSLv2_HANDLED_CLIENTHELLO': [], 'SSLv2_HANDLED_CLIENTMASTERKEY': [], 'SSLv2_MISSING_CLIENTCERTIFICATE': [], 'SSLv2_MISSING_CLIENTFINISHED': [], 'SSLv2_MISSING_CLIENTMASTERKEY': [], 'SSLv2_RECEIVED_CLIENTCERTIFICATE': [], 'SSLv2_RECEIVED_CLIENTDATA': [], 'SSLv2_RECEIVED_CLIENTFINISHED': [], 'SSLv2_RECEIVED_CLIENTMASTERKEY': [], 'SSLv2_SENT_REQUESTCERTIFICATE': [], 'SSLv2_SENT_SERVERDATA': [], 'SSLv2_SENT_SERVERFINISHED': [], 'SSLv2_SENT_SERVERHELLO': [], 'SSLv2_SENT_SERVERVERIFY': [], 'SSLv2_WAITING_CLIENTCERTIFICATE': [], 'SSLv2_WAITING_CLIENTDATA': [], 'SSLv2_WAITING_CLIENTMASTERKEY': [], 'TLS13_HANDLED_ALERT_FROM_CLIENTCERTIFICATE': [], 'TLS13_HANDLED_CLIENTCERTIFICATE': [], 'TLS13_HANDLED_CLIENTFINISHED': [], 'TLS13_HANDLED_CLIENT_CERTIFICATEVERIFY': [], 'TLS13_MISSING_CLIENTCERTIFICATE': [], 'WAITING_CLIENT': [], 'WAITING_CLIENTDATA': [], 'WAITING_CLIENTFLIGHT1': [], 'WAITING_CLIENTFLIGHT2': [], 'tls13_ADDED_CERTIFICATE': [], 'tls13_ADDED_CERTIFICATEREQUEST': [], 'tls13_ADDED_CERTIFICATEVERIFY': [], 'tls13_ADDED_ENCRYPTEDEXTENSIONS': [], 'tls13_ADDED_SERVERFINISHED': [], 'tls13_ADDED_SERVERHELLO': [], 'tls13_HANDLED_CLIENTHELLO': [], 'tls13_HANDLED_HELLORETRYREQUEST': [], 'tls13_PREPARE_HELLORETRYREQUEST': [], 'tls13_PREPARE_SERVERFLIGHT1': [], 'tls13_RECEIVED_CLIENTFLIGHT2': [], 'tls13_WAITING_CLIENTFLIGHT2': []}
save_ticket(ticket)[source]

This function save a ticket and others parameters in the file given as argument to the automaton Warning : The file is not protected and contains sensitive information. It should be used only for testing purpose.

send_sock: SuperSocket | None
should_add_Certificate()[source]
should_add_CertificateRequest()[source]
should_add_ChangeCipherSpec()[source]
should_add_ServerFinished()[source]
should_add_ServerHello()[source]

Selecting a cipher suite should be no trouble as we already caught the None case previously.

Also, we do not manage extensions at all.

should_add_ServerHelloDone()[source]
should_add_ServerKeyExchange()[source]
should_handle_Alert_from_ClientCertificate()[source]
should_handle_Alert_from_ClientFinished()[source]
should_handle_Alert_from_ClientKeyExchange()[source]
should_handle_CertificateVerify()[source]
should_handle_ChangeCipherSpec()[source]
should_handle_ClientCertificate()[source]
should_handle_ClientData()[source]
should_handle_ClientFinished()[source]
should_handle_ClientHello()[source]
should_handle_ClientKeyExchange()[source]
should_send_ServerData()[source]
should_send_ServerFlight1()[source]
should_send_ServerFlight2()[source]
sslv2_close_session()[source]
sslv2_close_session_final()[source]
sslv2_missing_ClientCertificate()[source]
sslv2_missing_ClientFinished()[source]
sslv2_should_add_RequestCertificate()[source]
sslv2_should_add_ServerFinished()[source]
sslv2_should_add_ServerHello()[source]
sslv2_should_add_ServerVerify_from_ClientFinished()[source]
sslv2_should_add_ServerVerify_from_NoClientFinished()[source]
sslv2_should_handle_ClientCertificate()[source]
sslv2_should_handle_ClientData()[source]
sslv2_should_handle_ClientFinished()[source]
sslv2_should_handle_ClientHello()[source]
sslv2_should_handle_ClientMasterKey()[source]
sslv2_should_send_RequestCertificate()[source]
sslv2_should_send_ServerData()[source]
sslv2_should_send_ServerFinished()[source]
sslv2_should_send_ServerHello()[source]
sslv2_should_send_ServerVerify()[source]
states: Dict[str, _StateWrapper] = {'ADDED_CERTIFICATE': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'ADDED_CERTIFICATEREQUEST': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'ADDED_CHANGECIPHERSPEC': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'ADDED_SERVERDATA': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'ADDED_SERVERFINISHED': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'ADDED_SERVERHELLO': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'ADDED_SERVERHELLODONE': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'ADDED_SERVERKEYEXCHANGE': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'BIND': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'CLOSE_NOTIFY': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'CLOSE_NOTIFY_FINAL': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'FINAL': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'HANDLED_ALERT_FROM_CHANGECIPHERSPEC': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'HANDLED_ALERT_FROM_CLIENTCERTIFICATE': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'HANDLED_ALERT_FROM_CLIENTKEYEXCHANGE': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'HANDLED_CERTIFICATEVERIFY': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'HANDLED_CHANGECIPHERSPEC': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'HANDLED_CLIENTCERTIFICATE': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'HANDLED_CLIENTDATA': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'HANDLED_CLIENTFINISHED': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'HANDLED_CLIENTHELLO': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'HANDLED_CLIENTKEYEXCHANGE': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'INITIAL': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'INIT_TLS_SESSION': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'MISSING_CERTIFICATEVERIFY': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'MISSING_CHANGECIPHERSPEC': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'MISSING_CLIENTCERTIFICATE': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'MISSING_CLIENTFINISHED': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'MISSING_CLIENTHELLO': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'MISSING_CLIENTKEYEXCHANGE': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'NO_USABLE_CIPHERSUITE': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'PREPARE_SERVERFLIGHT1': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'PREPARE_SERVERFLIGHT2': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'RECEIVED_CLIENTDATA': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'RECEIVED_CLIENTFLIGHT1': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'RECEIVED_CLIENTFLIGHT2': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SENT_SERVERDATA': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SENT_SERVERFLIGHT2': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SOCKET_CLOSED': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_ADDED_REQUESTCERTIFICATE': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_ADDED_SERVERDATA': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_ADDED_SERVERFINISHED': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_ADDED_SERVERHELLO': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_ADDED_SERVERVERIFY': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_CLOSE_NOTIFY': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_CLOSE_NOTIFY_FINAL': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_HANDLED_CLIENTCERTIFICATE': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_HANDLED_CLIENTDATA': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_HANDLED_CLIENTFINISHED': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_HANDLED_CLIENTHELLO': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_HANDLED_CLIENTMASTERKEY': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_MISSING_CLIENTCERTIFICATE': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_MISSING_CLIENTFINISHED': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_MISSING_CLIENTMASTERKEY': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_RECEIVED_CLIENTCERTIFICATE': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_RECEIVED_CLIENTDATA': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_RECEIVED_CLIENTFINISHED': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_RECEIVED_CLIENTMASTERKEY': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_SENT_REQUESTCERTIFICATE': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_SENT_SERVERDATA': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_SENT_SERVERFINISHED': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_SENT_SERVERHELLO': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_SENT_SERVERVERIFY': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_WAITING_CLIENTCERTIFICATE': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_WAITING_CLIENTDATA': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'SSLv2_WAITING_CLIENTMASTERKEY': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'TLS13_HANDLED_ALERT_FROM_CLIENTCERTIFICATE': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'TLS13_HANDLED_CLIENTCERTIFICATE': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'TLS13_HANDLED_CLIENTFINISHED': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'TLS13_HANDLED_CLIENT_CERTIFICATEVERIFY': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'TLS13_MISSING_CLIENTCERTIFICATE': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'WAITING_CLIENT': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'WAITING_CLIENTDATA': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'WAITING_CLIENTFLIGHT1': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'WAITING_CLIENTFLIGHT2': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'tls13_ADDED_CERTIFICATE': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'tls13_ADDED_CERTIFICATEREQUEST': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'tls13_ADDED_CERTIFICATEVERIFY': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'tls13_ADDED_ENCRYPTEDEXTENSIONS': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'tls13_ADDED_SERVERFINISHED': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'tls13_ADDED_SERVERHELLO': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'tls13_HANDLED_CLIENTHELLO': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'tls13_HANDLED_HELLORETRYREQUEST': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'tls13_PREPARE_HELLORETRYREQUEST': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'tls13_PREPARE_SERVERFLIGHT1': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'tls13_RECEIVED_CLIENTFLIGHT2': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>, 'tls13_WAITING_CLIENTFLIGHT2': <function ATMT.state.<locals>.deco.<locals>._state_wrapper>}
stop_state(*args: ATMT, **kargs: Any) NewStateRequested[source]
threadid: int | None
timeout: Dict[str, _TimerList] = {'ADDED_CERTIFICATE': [], 'ADDED_CERTIFICATEREQUEST': [], 'ADDED_CHANGECIPHERSPEC': [], 'ADDED_SERVERDATA': [], 'ADDED_SERVERFINISHED': [], 'ADDED_SERVERHELLO': [], 'ADDED_SERVERHELLODONE': [], 'ADDED_SERVERKEYEXCHANGE': [], 'BIND': [], 'CLOSE_NOTIFY': [], 'CLOSE_NOTIFY_FINAL': [], 'FINAL': [], 'HANDLED_ALERT_FROM_CHANGECIPHERSPEC': [], 'HANDLED_ALERT_FROM_CLIENTCERTIFICATE': [], 'HANDLED_ALERT_FROM_CLIENTKEYEXCHANGE': [], 'HANDLED_CERTIFICATEVERIFY': [], 'HANDLED_CHANGECIPHERSPEC': [], 'HANDLED_CLIENTCERTIFICATE': [], 'HANDLED_CLIENTDATA': [], 'HANDLED_CLIENTFINISHED': [], 'HANDLED_CLIENTHELLO': [], 'HANDLED_CLIENTKEYEXCHANGE': [], 'INITIAL': [], 'INIT_TLS_SESSION': [], 'MISSING_CERTIFICATEVERIFY': [], 'MISSING_CHANGECIPHERSPEC': [], 'MISSING_CLIENTCERTIFICATE': [], 'MISSING_CLIENTFINISHED': [], 'MISSING_CLIENTHELLO': [], 'MISSING_CLIENTKEYEXCHANGE': [], 'NO_USABLE_CIPHERSUITE': [], 'PREPARE_SERVERFLIGHT1': [], 'PREPARE_SERVERFLIGHT2': [], 'RECEIVED_CLIENTDATA': [], 'RECEIVED_CLIENTFLIGHT1': [], 'RECEIVED_CLIENTFLIGHT2': [], 'SENT_SERVERDATA': [], 'SENT_SERVERFLIGHT2': [], 'SOCKET_CLOSED': [], 'SSLv2_ADDED_REQUESTCERTIFICATE': [], 'SSLv2_ADDED_SERVERDATA': [], 'SSLv2_ADDED_SERVERFINISHED': [], 'SSLv2_ADDED_SERVERHELLO': [], 'SSLv2_ADDED_SERVERVERIFY': [], 'SSLv2_CLOSE_NOTIFY': [], 'SSLv2_CLOSE_NOTIFY_FINAL': [], 'SSLv2_HANDLED_CLIENTCERTIFICATE': [], 'SSLv2_HANDLED_CLIENTDATA': [], 'SSLv2_HANDLED_CLIENTFINISHED': [], 'SSLv2_HANDLED_CLIENTHELLO': [], 'SSLv2_HANDLED_CLIENTMASTERKEY': [], 'SSLv2_MISSING_CLIENTCERTIFICATE': [], 'SSLv2_MISSING_CLIENTFINISHED': [], 'SSLv2_MISSING_CLIENTMASTERKEY': [], 'SSLv2_RECEIVED_CLIENTCERTIFICATE': [], 'SSLv2_RECEIVED_CLIENTDATA': [], 'SSLv2_RECEIVED_CLIENTFINISHED': [], 'SSLv2_RECEIVED_CLIENTMASTERKEY': [], 'SSLv2_SENT_REQUESTCERTIFICATE': [], 'SSLv2_SENT_SERVERDATA': [], 'SSLv2_SENT_SERVERFINISHED': [], 'SSLv2_SENT_SERVERHELLO': [], 'SSLv2_SENT_SERVERVERIFY': [], 'SSLv2_WAITING_CLIENTCERTIFICATE': [], 'SSLv2_WAITING_CLIENTDATA': [], 'SSLv2_WAITING_CLIENTMASTERKEY': [], 'TLS13_HANDLED_ALERT_FROM_CLIENTCERTIFICATE': [], 'TLS13_HANDLED_CLIENTCERTIFICATE': [], 'TLS13_HANDLED_CLIENTFINISHED': [], 'TLS13_HANDLED_CLIENT_CERTIFICATEVERIFY': [], 'TLS13_MISSING_CLIENTCERTIFICATE': [], 'WAITING_CLIENT': [], 'WAITING_CLIENTDATA': [], 'WAITING_CLIENTFLIGHT1': [], 'WAITING_CLIENTFLIGHT2': [], 'tls13_ADDED_CERTIFICATE': [], 'tls13_ADDED_CERTIFICATEREQUEST': [], 'tls13_ADDED_CERTIFICATEVERIFY': [], 'tls13_ADDED_ENCRYPTEDEXTENSIONS': [], 'tls13_ADDED_SERVERFINISHED': [], 'tls13_ADDED_SERVERHELLO': [], 'tls13_HANDLED_CLIENTHELLO': [], 'tls13_HANDLED_HELLORETRYREQUEST': [], 'tls13_PREPARE_HELLORETRYREQUEST': [], 'tls13_PREPARE_SERVERFLIGHT1': [], 'tls13_RECEIVED_CLIENTFLIGHT2': [], 'tls13_WAITING_CLIENTFLIGHT2': []}
tls13_ADDED_CERTIFICATE(*args: ATMT, **kargs: Any) NewStateRequested[source]
tls13_ADDED_CERTIFICATEREQUEST(*args: ATMT, **kargs: Any) NewStateRequested[source]
tls13_ADDED_CERTIFICATEVERIFY(*args: ATMT, **kargs: Any) NewStateRequested[source]
tls13_ADDED_ENCRYPTEDEXTENSIONS(*args: ATMT, **kargs: Any) NewStateRequested[source]
tls13_ADDED_SERVERFINISHED(*args: ATMT, **kargs: Any) NewStateRequested[source]
tls13_ADDED_SERVERHELLO(*args: ATMT, **kargs: Any) NewStateRequested[source]
tls13_HANDLED_CLIENTHELLO(*args: ATMT, **kargs: Any) NewStateRequested[source]
tls13_HANDLED_HELLORETRYREQUEST(*args: ATMT, **kargs: Any) NewStateRequested[source]
tls13_PREPARE_HELLORETRYREQUEST(*args: ATMT, **kargs: Any) NewStateRequested[source]
tls13_PREPARE_SERVERFLIGHT1(*args: ATMT, **kargs: Any) NewStateRequested[source]
tls13_RECEIVED_CLIENTFLIGHT2(*args: ATMT, **kargs: Any) NewStateRequested[source]
tls13_WAITING_CLIENTFLIGHT2(*args: ATMT, **kargs: Any) NewStateRequested[source]
tls13_no_ClientCertificate()[source]
tls13_no_Client_CertificateVerify()[source]
tls13_should_add_Certificate()[source]
tls13_should_add_CertificateRequest()[source]
tls13_should_add_CertificateVerifiy()[source]
tls13_should_add_EncryptedExtensions()[source]
tls13_should_add_Finished()[source]
tls13_should_add_HelloRetryRequest()[source]
tls13_should_add_ServerHello()[source]
tls13_should_add_ServerHello_from_HRR()[source]
tls13_should_handle_Alert_from_ClientCertificate()[source]
tls13_should_handle_ClientCCS()[source]
tls13_should_handle_ClientCertificateVerify()[source]
tls13_should_handle_ClientFinished()[source]
tls13_should_handle_ClientFlight2()[source]
tls13_should_handle_ClientHello()[source]
tls13_should_send_ServerFlight1()[source]
verify_psk_binder(psk_identity, obfuscated_age, binder)[source]

This function verifies the binder received in the ‘pre_shared_key’ extension and return the resumption PSK associated with those values.

The arguments psk_identity, obfuscated_age and binder are taken from ‘pre_shared_key’ in the ClientHello.

vprint_sessioninfo()[source]