TlsClientManager

class mtf.network_port.tls.tls_helpers.TlsClientManager
__init__(**kwargs)
set_extension_property(property_name: str, value: Any) None

Sets a property for the TLS client.

get_config(message_type: TlsMessage)

Provides the client-specific configuration.

start_client()

Starts the TLS-Attacker client.

add_extension(extension_type: TlsExtensionType, value: Any | None = None, status: bool | None = True) None
add_wait_action(delay_ms: int) None

Adds a wait action to pause for the specified duration.

Args:

delay_ms (int): The delay in milliseconds to wait.

prepare_ciphers_for_argument(ciphers: str | List[str]) str

Prepares a string representation of the cipher(s) to be passed as an argument to the TLS-Attacker client.

Args:

ciphers (Union[str, List[str]]): A single cipher (as a string) or a list of ciphers.

Returns:

str: A comma-separated string of cipher names in IANA format.

receive_action(message_types: list[TlsMessage]) None

Dynamically receives a series of DTLS messages from/to the server/client during a handshake.

Args:

message_types (list[TlsMessage]): A list of TlsMessage enum members representing the message types to receive.

send_action(message_types: list[TlsMessage], message_properties: dict | None = None, with_extensions=True) None

Dynamically sends a series of TLS messages from/to the server/client during a handshake, with optional properties for each message type.

Args:

message_types (list[TlsMessage]): A list of TlsMessage enum members representing the message types to send. message_properties (dict, optional): A dictionary where keys are TlsMessage types and values are

dictionaries of properties to set (e.g., {‘verify_data’: b’…’}).

shutdown() None

Shuts down the JVM if it is currently running.