Callbacks Module
- class mtf.network_port.tls.helpers.callbacks.MsgParser
 Parses TLS messages and extracts relevant information.
- tls1_3: bool
 
- parse_tls_message(direction: int, content_type: int, data: bytes)
 Parses a TLS message based on its content type.
- Args:
 direction (int): The direction of the message (incoming or outgoing). content_type (int): The type of TLS content. data (bytes): The raw TLS message data.
- Returns:
 Parsed TLS message or None if the content type is unhandled.
- check_content_type(content_type, content_type_check)
 Checks if the given content type matches the expected type.
- Args:
 content_type (int): The content type of the message. content_type_check (int): The expected content type.
- Returns:
 bool: True if the content type matches, otherwise False.
- check_parser_func_type(parser_func, data, type)
 Calls the appropriate parser function for a given TLS content type.
- Args:
 parser_func (function): The parser function for the given content type. data (bytes): The TLS message data. content_type (int): The TLS content type.
- Returns:
 Parsed data or logs a debug message if unhandled.
- parse_client_hello(data)
 Parses a ClientHello message from a TLS handshake.
- Args:
 data (bytes): The raw ClientHello message.
- Returns:
 ClientHello: Parsed ClientHello data.
- parse_server_hello(data)
 Parses a ServerHello message from a TLS handshake.
- Args:
 data (bytes): The raw ServerHello message.
- Returns:
 ServerHello: Parsed ServerHello data.
- parse_server_hello_done(data)
 Parses a ServerHelloDone message from a TLS handshake.
- Args:
 data (bytes): The raw ServerHelloDone message.
- Returns:
 ServerHelloDone: Parsed ServerHelloDone data.
- parse_encrypted_extensions(data)
 Parses an EncryptedExtensions message from TLS 1.3 handshake.
- Args:
 data (bytes): The raw EncryptedExtensions message.
- Returns:
 EncryptedExtensions: Parsed EncryptedExtensions data.
- parse_client_key_exchange(data)
 Parses a ClientKeyExchange message from a TLS handshake.
- Args:
 data (bytes): The raw ClientKeyExchange message.
- Returns:
 PskClientKeyExchange: Parsed ClientKeyExchange data.
- parse_server_key_exchange(data)
 Parses a ServerKeyExchange message from a TLS handshake.
- Args:
 data (bytes): The raw ServerKeyExchange message.
- Returns:
 PskServerKeyExchange: Parsed ServerKeyExchange data.
- parse_change_cipher_spec(data)
 Parses a ChangeCipherSpec message.
- Args:
 data (bytes): The raw ChangeCipherSpec message.
- Returns:
 ChangeCipherSpec: Parsed ChangeCipherSpec data.
- parse_certificate_request(data)
 Parses a CertificateRequest message from a TLS handshake.
- Args:
 data (bytes): The raw CertificateRequest message.
- Returns:
 CertificateRequest: Parsed CertificateRequest data.
- parse_certificate(data, direction)
 Parses a Certificate message from a TLS handshake.
- Args:
 data (bytes): The raw Certificate message. direction (int): The direction of the handshake (client or server).
- Returns:
 CertificateMessage: Parsed Certificate data.
- parse_certificate_verify(data)
 Parses a CertificateVerify message from a TLS handshake.
- Args:
 data (bytes): The raw CertificateVerify message.
- Returns:
 CertificateVerify: Parsed CertificateVerify data.
- parse_finished(data)
 Parses a Finished message from a TLS handshake.
- Args:
 data (bytes): The raw Finished message.
- Returns:
 Finished: Parsed Finished message data.
- parse_alert(data)
 Parses an Alert message from TLS.
- Args:
 data (bytes): The raw Alert message.
- Returns:
 Alert: Parsed Alert message data.
- parse_session_ticket(data)
 Parses a SessionTicket message from TLS.
- Args:
 data (bytes): The raw SessionTicket message.
- Returns:
 SessionTicket: Parsed SessionTicket data.
- class mtf.network_port.tls.helpers.callbacks.MsgCallback
 Handles setting the message callback for SSL communication.
- handshake_info
 
- msg_parser
 
- set_msg_callback(callback)
 Sets the message callback function for SSL context.
- Args:
 callback (function): The function to be used as a callback for SSL messages.
- check_handshake_message(msg_type: TlsMessage, secure_version, tls_manager: Any, psk_key: bytes) bool
 Checks if a specific TLS handshake message type has been sent or received.
This method verifies whether a given handshake message type (msg_type) has been exchanged by the TLS client. It updates _handshake_info with messages retrieved from TlsClientManager if the list is empty.
If the specified handshake message is found in _handshake_info, it is removed from the list and the function returns True. Otherwise, it logs that the message was not sent or received and returns False.
- Args:
 msg_type (TlsMessage): The type of TLS handshake message to check.
- Returns:
 bool: True if the message was found, otherwise False.
- msg_cb(write_p: int, content_type: int, data: bytes) None
 Callback function for handling messages.
- Args:
 write_p (int): The direction of the message (incoming or outgoing). content_type (int): The type of TLS content. data (bytes): The raw TLS message data.
- Returns:
 None
- get_callback_message(msg_type: Any)
 Retrieves a callback message based on the given TLS message type.
- Args:
 msg_type (TlsMessage): The type of TLS message for which the callback message is required.
- Returns:
 The handshake message corresponding to the provided message type.