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.all 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)[源代码]

基类:_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[源代码]
ADDED_CERTIFICATEREQUEST(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
ADDED_CHANGECIPHERSPEC(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
ADDED_SERVERDATA(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
ADDED_SERVERFINISHED(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
ADDED_SERVERHELLO(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
ADDED_SERVERHELLODONE(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
ADDED_SERVERKEYEXCHANGE(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
BIND(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
CLOSE_NOTIFY(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
CLOSE_NOTIFY_FINAL(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
FINAL(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
HANDLED_ALERT_FROM_CHANGECIPHERSPEC(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
HANDLED_ALERT_FROM_CLIENTCERTIFICATE(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
HANDLED_ALERT_FROM_CLIENTKEYEXCHANGE(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
HANDLED_CERTIFICATEVERIFY(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
HANDLED_CHANGECIPHERSPEC(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
HANDLED_CLIENTCERTIFICATE(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
HANDLED_CLIENTDATA(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
HANDLED_CLIENTFINISHED(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
HANDLED_CLIENTHELLO(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
HANDLED_CLIENTKEYEXCHANGE(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
INITIAL(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
INIT_TLS_SESSION(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
MISSING_CERTIFICATEVERIFY(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
MISSING_CHANGECIPHERSPEC(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
MISSING_CLIENTCERTIFICATE(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
MISSING_CLIENTFINISHED(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
MISSING_CLIENTHELLO(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
MISSING_CLIENTKEYEXCHANGE(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
NO_USABLE_CIPHERSUITE(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
PREPARE_SERVERFLIGHT1(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
PREPARE_SERVERFLIGHT2(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
RECEIVED_CLIENTDATA(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
RECEIVED_CLIENTFLIGHT1(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
RECEIVED_CLIENTFLIGHT2(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SENT_SERVERDATA(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SENT_SERVERFLIGHT2(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SOCKET_CLOSED(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_ADDED_REQUESTCERTIFICATE(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_ADDED_SERVERDATA(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_ADDED_SERVERFINISHED(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_ADDED_SERVERHELLO(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_ADDED_SERVERVERIFY(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_CLOSE_NOTIFY(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_CLOSE_NOTIFY_FINAL(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_HANDLED_CLIENTCERTIFICATE(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_HANDLED_CLIENTDATA(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_HANDLED_CLIENTFINISHED(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_HANDLED_CLIENTHELLO(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_HANDLED_CLIENTMASTERKEY(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_MISSING_CLIENTCERTIFICATE(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_MISSING_CLIENTFINISHED(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_MISSING_CLIENTMASTERKEY(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_RECEIVED_CLIENTCERTIFICATE(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_RECEIVED_CLIENTDATA(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_RECEIVED_CLIENTFINISHED(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_RECEIVED_CLIENTMASTERKEY(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_SENT_REQUESTCERTIFICATE(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_SENT_SERVERDATA(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_SENT_SERVERFINISHED(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_SENT_SERVERHELLO(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_SENT_SERVERVERIFY(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_WAITING_CLIENTCERTIFICATE(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_WAITING_CLIENTDATA(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
SSLv2_WAITING_CLIENTMASTERKEY(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
TLS13_HANDLED_ALERT_FROM_CLIENTCERTIFICATE(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
TLS13_HANDLED_CLIENTCERTIFICATE(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
TLS13_HANDLED_CLIENTFINISHED(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
TLS13_HANDLED_CLIENT_CERTIFICATEVERIFY(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
TLS13_MISSING_CLIENTCERTIFICATE(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
WAITING_CLIENT(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
WAITING_CLIENTDATA(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
WAITING_CLIENTFLIGHT1(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
WAITING_CLIENTFLIGHT2(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
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()[源代码]
close_session_final()[源代码]
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': []}
http_sessioninfo()[源代码]
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] = []
missing_ChangeCipherSpec()[源代码]
missing_ClientFinished()[源代码]
missing_ClientHello()[源代码]
missing_ClientKeyExchange()[源代码]
missing_ClientMasterKey()[源代码]
no_CertificateVerify()[源代码]
no_ClientCertificate()[源代码]
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)[源代码]
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)[源代码]

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.

should_add_Certificate()[源代码]
should_add_CertificateRequest()[源代码]
should_add_ChangeCipherSpec()[源代码]
should_add_ServerFinished()[源代码]
should_add_ServerHello()[源代码]

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()[源代码]
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()[源代码]
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_states: List[_StateWrapper] = [<function ATMT.state.<locals>.deco.<locals>._state_wrapper>]
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[源代码]
tls13_ADDED_CERTIFICATEREQUEST(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
tls13_ADDED_CERTIFICATEVERIFY(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
tls13_ADDED_ENCRYPTEDEXTENSIONS(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
tls13_ADDED_SERVERFINISHED(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
tls13_ADDED_SERVERHELLO(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
tls13_HANDLED_CLIENTHELLO(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
tls13_HANDLED_HELLORETRYREQUEST(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
tls13_PREPARE_HELLORETRYREQUEST(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
tls13_PREPARE_SERVERFLIGHT1(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
tls13_RECEIVED_CLIENTFLIGHT2(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
tls13_WAITING_CLIENTFLIGHT2(*args: ATMT, **kargs: Any) NewStateRequested[源代码]
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()[源代码]
verify_psk_binder(psk_identity, obfuscated_age, binder)[源代码]

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()[源代码]