Enums Module
- class mtf.network_port.tls.helpers.enums.TlsAttackerEnum
Base Enum class for TLS Attacker related enums.
- load_enum()
- class mtf.network_port.tls.helpers.enums.ProtocolVersion
Enum to represent ProtocolVersion with corresponding Java enum values.
- SSL2
- SSL3
- TLS10
- TLS11
- TLS12
- TLS13
- TLS13_DRAFT14
- TLS13_DRAFT15
- TLS13_DRAFT16
- TLS13_DRAFT17
- TLS13_DRAFT18
- TLS13_DRAFT19
- TLS13_DRAFT20
- TLS13_DRAFT21
- TLS13_DRAFT22
- TLS13_DRAFT23
- TLS13_DRAFT24
- TLS13_DRAFT25
- TLS13_DRAFT26
- TLS13_DRAFT27
- TLS13_DRAFT28
- DTLS10_DRAFT
- DTLS10
- DTLS12
- GREASE_00
- GREASE_01
- GREASE_02
- GREASE_03
- GREASE_04
- GREASE_05
- GREASE_06
- GREASE_07
- GREASE_08
- GREASE_09
- GREASE_10
- GREASE_11
- GREASE_12
- GREASE_13
- GREASE_14
- GREASE_15
- class mtf.network_port.tls.helpers.enums.TokenBindingVersion
Enum to represent TokenBindingVersion with corresponding Java enum values.
- DRAFT_1
- DRAFT_2
- DRAFT_3
- DRAFT_4
- DRAFT_5
- DRAFT_6
- DRAFT_7
- DRAFT_8
- DRAFT_9
- DRAFT_10
- DRAFT_11
- DRAFT_12
- DRAFT_13
- DRAFT_14
- DRAFT_15
- DRAFT_16
- DRAFT_17
- DRAFT_18
- class mtf.network_port.tls.helpers.enums.TokenBindingKeyParameters
Enum to represent TokenBindingKeyParameters with corresponding Java enum values.
- RSA2048_PKCS1_5
- RSA2048_PSS
- ECDSAP256
- class mtf.network_port.tls.helpers.enums.UserMappingExtensionHintType
Enum to represent UserMappingExtensionHintType with corresponding Java enum values.
- UPN_DOMAIN_HINT
- class mtf.network_port.tls.helpers.enums.AuthzDataFormat
Enum to represent AuthzDataFormat with corresponding Java enum values.
- X509_ATTR_CERT
- SAML_ASSERTION
- X509_ATTR_CERT_URL
- SAML_ASSERTION_URL
- class mtf.network_port.tls.helpers.enums.SrtpProtectionProfile
Enum to represent SRTP protection profiles with their corresponding byte values.
- SRTP_AES128_CM_HMAC_SHA1_80
- SRTP_AES128_CM_HMAC_SHA1_32
- SRTP_NULL_HMAC_SHA1_80
- SRTP_NULL_HMAC_SHA1_32
- SRTP_AEAD_AES_128_GCM
- SRTP_AEAD_AES_256_GCM
- DOUBLE_AEAD_AES_128_GCM_AEAD_AES_128_GCM
- DOUBLE_AEAD_AES_256_GCM_AEAD_AES_256_GCM
- SRTP_ARIA_128_CTR_HMAC_SHA1_80
- SRTP_ARIA_128_CTR_HMAC_SHA1_32
- SRTP_ARIA_256_CTR_HMAC_SHA1_80
- SRTP_ARIA_256_CTR_HMAC_SHA1_32
- SRTP_AEAD_ARIA_128_GCM
- SRTP_AEAD_ARIA_256_GCM
- class mtf.network_port.tls.helpers.enums.MaxFragmentLength
Enum to represent MaxFragmentLength with corresponding Java enum values.
- TWO_9
- TWO_10
- TWO_11
- TWO_12
- class mtf.network_port.tls.helpers.enums.PskKeyExchangeMode
Enum to represent PskKeyExchangeMode with corresponding Java enum values.
- PSK_KE
- PSK_DHE_KE
- class mtf.network_port.tls.helpers.enums.CertificateType
Enum to represent CertificateType with corresponding Java enum values.
- X509
- OPEN_PGP
- RAW_PUBLIC_KEY
- class mtf.network_port.tls.helpers.enums.HeartbeatMode
Enum to represent HeartbeatMode with corresponding Java enum values.
- PEER_ALLOWED_TO_SEND
- PEER_NOT_ALLOWED_TO_SEND
- class mtf.network_port.tls.helpers.enums.SignatureAndHashAlgorithm
Enum to represent Signature and Hash Algorithm with corresponding Java enum values.
- ANONYMOUS_NONE
- ANONYMOUS_MD5
- ANONYMOUS_SHA1
- ANONYMOUS_SHA224
- ANONYMOUS_SHA256
- ANONYMOUS_SHA384
- ANONYMOUS_SHA512
- RSA_NONE
- RSA_MD5
- RSA_SHA1
- RSA_SHA224
- RSA_SHA256
- RSA_SHA384
- RSA_SHA512
- DSA_NONE
- DSA_MD5
- DSA_SHA1
- DSA_SHA224
- DSA_SHA256
- DSA_SHA384
- DSA_SHA512
- ECDSA_NONE
- ECDSA_MD5
- ECDSA_SHA1
- ECDSA_SHA224
- ECDSA_SHA256
- ECDSA_SHA384
- ECDSA_SHA512
- SM2_SM3
- ED25519
- ED448
- RSA_PSS_RSAE_SHA256
- RSA_PSS_RSAE_SHA384
- RSA_PSS_RSAE_SHA512
- RSA_PSS_PSS_SHA256
- RSA_PSS_PSS_SHA384
- RSA_PSS_PSS_SHA512
- GOSTR34102001_GOSTR3411
- GOSTR34102012_256_GOSTR34112012_256
- GOSTR34102012_512_GOSTR34112012_512
- ECDSA_BRAINPOOL_P256R1_TLS13_SHA256
- ECDSA_BRAINPOOL_P384R1_TLS13_SHA384
- ECDSA_BRAINPOOL_P512R1_TLS13_SHA512
- GREASE_00
- GREASE_01
- GREASE_02
- GREASE_03
- GREASE_04
- GREASE_05
- GREASE_06
- GREASE_07
- GREASE_08
- GREASE_09
- GREASE_10
- GREASE_11
- GREASE_12
- GREASE_13
- GREASE_14
- GREASE_15
- class mtf.network_port.tls.helpers.enums.ECPointFormat
Enum to represent ECPointFormat with corresponding Java enum values.
- UNCOMPRESSED
- ANSIX962_COMPRESSED_PRIME
- ANSIX962_COMPRESSED_CHAR2
- class mtf.network_port.tls.helpers.enums.NamedGroup
Enum to represent NamedGroup with corresponding Java enum values.
Each NamedGroup enum member contains: - byte_value: A byte representation of the group. - group_name: The name of the group as a string. - group_size: The size of the group, if applicable.
This enum interacts with the de.rub.nds.tlsattacker.core.constants.NamedGroup Java enum via JPype and can dynamically load the Java enum value corresponding to the Python enum member.
- SECT163K1
- SECT163R1
- SECT163R2
- SECT193R1
- SECT193R2
- SECT233K1
- SECT233R1
- SECT239K1
- SECT283K1
- SECT283R1
- SECT409K1
- SECT409R1
- SECT571K1
- SECT571R1
- SECP160K1
- SECP160R1
- SECP160R2
- SECP192K1
- SECP192R1
- SECP224K1
- SECP224R1
- SECP256K1
- SECP256R1
- SECP384R1
- SECP521R1
- BRAINPOOLP256R1
- BRAINPOOLP384R1
- BRAINPOOLP512R1
- ECDH_X25519
- ECDH_X448
- CURVE_SM2
- FFDHE2048
- FFDHE3072
- FFDHE4096
- FFDHE6144
- FFDHE8192
- EXPLICIT_PRIME
- EXPLICIT_CHAR2
- GREASE_00
- GREASE_01
- GREASE_02
- GREASE_03
- GREASE_04
- GREASE_05
- GREASE_06
- GREASE_07
- GREASE_08
- GREASE_09
- GREASE_10
- GREASE_11
- GREASE_12
- GREASE_13
- GREASE_14
- GREASE_15
- __init__(byte_value, group_name, group_size)
Initializes a NamedGroup enum member.
Parameters:
byte_value: Byte representation of the group.
group_name: String name of the group.
group_size: Size of the group (or None for GREASE values).
- class mtf.network_port.tls.helpers.enums.TlsMessage
Enum representing various TLS message types used in the TLS handshake process.
Each enum member corresponds to a fully qualified Java class name that represents a specific type of TLS message. These message types can be dynamically loaded and processed using jpype in the TlsAttacker framework.
Enum Members:
- HELLO_VERIFY_REQUESTstr
Represents the HelloVerifyRequestMessage used in DTLS handshakes to verify the client’s IP address.
- CHANGE_CIPHER_SPECstr
Represents the ChangeCipherSpecMessage, indicating that the sender is ready to begin using new cryptographic parameters.
- CERTIFICATE_REQUESTstr
Represents the CertificateRequestMessage, sent by the server to request the client’s certificate.
- SERVER_HELLO_DONEstr
Represents the ServerHelloDoneMessage, indicating the server has finished its part of the handshake.
- SERVER_KEY_EXCHANGEstr
Represents the ServerKeyExchangeMessage, used to provide the server’s key-exchange parameters.
- RSA_CLIENT_KEY_EXCHANGE: str
Class path for the RSAClientKeyExchangeMessage, which is used by the client in an RSA-based key exchange process.
- RSA_SERVER_KEY_EXCHANGE: str
Class path for the RSAServerKeyExchangeMessage, which is used by the server in an RSA-based key exchange process.
- FINISHED_MESSAGEstr
Represents the FinishedMessage, indicating the completion of the handshake process.
- ALERTstr
Represents the AlertMessage, used to signal errors or important notifications in the TLS session.
- SERVER_HELLOstr
Represents the ServerHelloMessage, sent by the server to confirm selected handshake parameters.
- CLIENT_HELLOstr
Represents the ClientHelloMessage, sent by the client to initiate the TLS handshake with proposed parameters.
- CLIENT_KEY_EXCHANGEstr
Represents the ClientKeyExchangeMessage, used to securely exchange key material between the client and server.
- CERTIFICATEstr
Represents the CertificateMessage, used to send the sender’s public key to the recipient for authentication.
- HELLO_VERIFY_REQUEST
- CHANGE_CIPHER_SPEC
- CERTIFICATE_REQUEST
- CERTIFICATE_VERIFY
- SERVER_HELLO_DONE
- SERVER_KEY_EXCHANGE
- RSA_CLIENT_KEY_EXCHANGE
- RSA_SERVER_KEY_EXCHANGE
- FINISHED_MESSAGE
- ALERT
- SERVER_HELLO
- CLIENT_HELLO
- CLIENT_KEY_EXCHANGE
- CERTIFICATE
- CERTIFICATE_STATUS
- EncryptedExtensionsMessage
- ApplicationMessage
- ResetConnectionAction
- RenegotiationAction
- NewSessionTicketMessage
- HELLO_REQUEST
- class mtf.network_port.tls.helpers.enums.TlsExtensionType
Enum representing the different types of TLS extensions.
TLS extensions are used in the TLS handshake to negotiate various parameters between the client and server. Each extension type corresponds to a specific functionality that can be negotiated or enabled during the handshake.
- Attributes:
SERVER_NAME (int): Server Name Indication (SNI) extension, value 0.
MAX_FRAGMENT_LENGTH (int): Maximum Fragment Length extension, value 1.
CLIENT_CERTIFICATE_URL (int): Client Certificate URL extension, value 2.
TRUSTED_CA_KEYS (int): Trusted CA Keys extension, value 3.
TRUNCATED_HMAC (int): Truncated HMAC extension, value 4.
STATUS_REQUEST (int): Certificate Status Request extension, value 5.
USER_MAPPING (int): User Mapping extension, value 6.
CLIENT_AUTHZ (int): Client Authorization extension, value 7.
SERVER_AUTHZ (int): Server Authorization extension, value 8.
CERT_TYPE (int): Certificate Type extension, value 9.
SUPPORTED_GROUPS (int): Supported Elliptic Curves extension, value 10.
EC_POINT_FORMATS (int): Supported EC Point Formats extension, value 11.
SRP (int): Secure Remote Password (SRP) extension, value 12.
SIGNATURE_ALGORITHMS (int): Signature Algorithms extension, value 13.
USE_SRTP (int): Use SRTP extension, value 14.
HEARTBEAT (int): Heartbeat extension, value 15.
ALPN (int): Application-Layer Protocol Negotiation (ALPN) extension, value 16.
STATUS_REQUEST_V2 (int): Status Request Version 2 extension, value 17.
SIGNED_CERTIFICATE_TIMESTAMP (int): Signed Certificate Timestamp extension, value 18.
CLIENT_CERT_TYPE (int): Client Certificate Type extension, value 19.
SERVER_CERT_TYPE (int): Server Certificate Type extension, value 20.
PADDING (int): Padding extension, value 21.
ENCRYPT_THEN_MAC (int): Encrypt-Then-MAC extension, value 22.
EXTENDED_MASTER_SECRET (int): Extended Master Secret extension, value 23.
TOKEN_BINDING (int): Token Binding extension, value 24.
CACHED_INFO (int): Cached Info extension, value 25.
TLS_LTS (int): TLS_LTS extension, value 26.
COMPRESS_CERTIFICATE (int): Compress Certificate extension, value 27.
RECORD_SIZE_LIMIT (int): Record Size Limit extension, value 28.
PWD_PROTECT (int): Password Protect extension, value 29.
PWD_CLEAR (int): Password Clear extension, value 30.
PASSWORD_SALT (int): Password Salt extension, value 31.
TICKET_PINNING (int): TICKET_PINNING extension, value 32.
TLS_CERT_WITH_EXTERN_PSK (int): TLS_CERT_WITH_EXTERN_PSK extension, value 33.
DELEGATED_CREDENTIAL (int): DELEGATED_CREDENTIAL extension, value 34.
SESSION_TICKET (int): Session Ticket extension, value 35.
TLMSP (int): TLMSP extension, value 36.
TLMSP_PROXYING (int): TLMSP_PROXYING extension, value 37.
TLMSP_DELEGATE (int): TLMSP_DELEGATE extension, value 38.
SUPPORTED_EKT_CIPHERS (int): SUPPORTED_EKT_CIPHERS extension, value 39.
EXTENDED_RANDOM (int): Extended Random extension, value 40.
PSK_IDENTITY (int): Pre-Shared Key Identity extension, value 41.
EARLY_DATA (int): Early Data extension, value 42.
SUPPORTED_VERSIONS (int): Supported Versions extension, value 43.
COOKIE (int): Cookie extension, value 44.
PSK_KEY_EXCHANGE_MODES (int): PSK Key Exchange Modes extension, value 45.
RESERVED (int): Reserved extension, value 46.
CERTIFICATE_AUTHORITIES (int): Certificate Authorities extension, value 47.
OID_FILTERS (int): OID Filters extension, value 48.
POST_HANDSHAKE_AUTH (int): Post-Handshake Authentication extension, value 49.
SIGNATURE_ALGORITHMS_CERT (int): Signature Algorithms for Certificates extension, value 50.
KEY_SHARE (int): Key Share extension, value 51.
TRANSPARENCY_INFO (int): Certificate Transparency extension, value 52.
CONNECTION_ID_DEPRECATED (int): Deprecated Connection ID extension, value 53.
CONNECTION_ID (int): Connection ID extension, value 54.
EXTERNAL_ID_HASH (int): External ID Hash extension, value 55.
EXTERNAL_SESSION_ID (int): External Session ID extension, value 56.
QUIC_TRANSPORT_PARAMETERS (int): QUIC Transport Parameters extension, value 57.
TICKET_REQUEST (int): Ticket Request extension, value 58.
DNSSEC_CHAIN (int): DNSSEC Chain extension, value 59.
SEQUENCE_NUMBER_ENCRYPTION_ALGORITHMS (int): SEQUENCE_NUMBER_ENCRYPTION_ALGORITHMS extension, value 60.
RRC (int): RRC extension, value 61.
TLS_FLAGS (int): TLS Flags extension, value 62.
NPN (int): Next Protocol Negotiation (NPN) extension, value 13172.
RENEGOTIATION_INFO (int): Renegotiation Info extension, value 65281.
ENCRYPTED_SERVER_NAME_INDICATION (int): Encrypted Server Name Indication extension, value 65486.
ENCRYPTED_CLIENT_HELLO (int): Encrypted Client Hello extension, value 65037.
ECH_OUTER_EXTENSIONS (int): ECH Outer Extensions extension, value 64768.
PRIVATE_USE (int): Private Use extension, value 65280.
- SERVER_NAME
- MAX_FRAGMENT_LENGTH
- CLIENT_CERTIFICATE_URL
- TRUSTED_CA_KEYS
- TRUNCATED_HMAC
- STATUS_REQUEST
- USER_MAPPING
- CLIENT_AUTHZ
- SERVER_AUTHZ
- CERT_TYPE
- SUPPORTED_GROUPS
- EC_POINT_FORMATS
- SRP
- SIGNATURE_ALGORITHMS
- USE_SRTP
- HEARTBEAT
- ALPN
- STATUS_REQUEST_V2
- SIGNED_CERTIFICATE_TIMESTAMP
- CLIENT_CERT_TYPE
- SERVER_CERT_TYPE
- PADDING
- ENCRYPT_THEN_MAC
- EXTENDED_MASTER_SECRET
- TOKEN_BINDING
- CACHED_INFO
- TLS_LTS
- COMPRESS_CERTIFICATE
- RECORD_SIZE_LIMIT
- PWD_PROTECT
- PWD_CLEAR
- PASSWORD_SALT
- TICKET_PINNING
- TLS_CERT_WITH_EXTERN_PSK
- DELEGATED_CREDENTIAL
- SESSION_TICKET
- TLMSP
- TLMSP_PROXYING
- TLMSP_DELEGATE
- SUPPORTED_EKT_CIPHERS
- EXTENDED_RANDOM
- PSK_IDENTITY
- EARLY_DATA
- SUPPORTED_VERSIONS
- COOKIE
- PSK_KEY_EXCHANGE_MODES
- RESERVED
- CERTIFICATE_AUTHORITIES
- OID_FILTERS
- POST_HANDSHAKE_AUTH
- SIGNATURE_ALGORITHMS_CERT
- KEY_SHARE
- TRANSPARENCY_INFO
- CONNECTION_ID_DEPRECATED
- CONNECTION_ID
- EXTERNAL_ID_HASH
- EXTERNAL_SESSION_ID
- QUIC_TRANSPORT_PARAMETERS
- TICKET_REQUEST
- DNSSEC_CHAIN
- SEQUENCE_NUMBER_ENCRYPTION_ALGORITHMS
- RRC
- TLS_FLAGS
- NPN
- RENEGOTIATION_INFO
- ENCRYPTED_SERVER_NAME_INDICATION
- ENCRYPTED_CLIENT_HELLO
- ECH_OUTER_EXTENSIONS
- PRIVATE_USE
- class mtf.network_port.tls.helpers.enums.HandshakeType
Enum representing different handshake message types in the TLS protocol. Each type corresponds to a specific handshake step in the protocol.
- CLIENT_HELLO
- SERVER_HELLO
- SESSION_TICKET
- ENCRYPTED_EXTENSIONS
- CLIENT_KEY_EXCHANGE
- CERTIFICATE
- SERVER_KEY_EXCHANGE
- CERTIFICATE_REQUEST
- SERVER_HELLO_DONE
- CERTIFICATE_VERIFY
- FINISHED
- class mtf.network_port.tls.helpers.enums.ContentType
Enum representing different content types in the TLS protocol. These values indicate the type of message being exchanged.
- HANDSHAKE
- CHANGE_CIPHER_SPEC
- ALERT
- RECORD_HEADER
- class mtf.network_port.tls.helpers.enums.CheckValue
Enum representing various check values used in the TLS protocol. These values help in verifying the integrity and correctness of messages.
- FINISHED
- CHANGE_CIPHER_SPEC
- class mtf.network_port.tls.helpers.enums.PositionXorValue
Enum that sets the initial value to apply an XOR modification on Record Layer
- INITIALITATION_VECTOR
- ENCRYPTED_DATA
- class mtf.network_port.tls.helpers.enums.Offset
Represents byte offsets for different TLS versions.
- Attributes:
TLS1_2_CERT (int): Offset value for certificates in TLS 1.2.
TLS1_3_CERT (int): Offset value for certificates in TLS 1.3.
HANDSHAKE_HEADER (int): Offset for handshake header.
HANDSHAKE_TYPE (int): Offset for handshake type.
PSK_IDENTITY (int): Offset for Pre-Shared Key (PSK) identity.
CERTIFICATE_REQUEST_LENGTH (int): Offset for certificate request length field.
LENGTH_FIELD (int): Offset for the length field in messages.
DATA_POSITION (int): Offset for the data position in the message.
SIGNATURE_ALGORITHM (int): Offset for the signature algorithm in certificates.
SIGNATURE (int): Offset for the signature field in certificates.
- TLS1_2_CERT
- TLS1_3_CERT
- HANDSHAKE_HEADER
- HANDSHAKE_TYPE
- PSK_IDENTITY
- CERTIFICATE_REQUEST_LENGTH
- LENGTH_FIELD
- DATA_POSITION
- SIGNATURE_ALGORITHM
- SIGNATURE