SSL Constant Enumerations

This module contains the constant enumerations shared by the record-layer implementations under the SSL umbrella – TLS (SSLv3 through TLS 1.3) and DTLS. Available enumerations include:

TLS_ContentType

TLS/DTLS Content Types [*]

TLS_HandshakeType

TLS/DTLS HandshakeType [†]

TLS_ExtensionType

TLS/DTLS ExtensionType Values [‡]

Added in version 1.6.0.

TLS/DTLS Content Types

This module contains the constant enumeration for TLS/DTLS Content Types, which is automatically generated from pcapkit.vendor.tls.content_type.ContentType.

class pcapkit.const.tls.content_type.ContentType(*values)[source]

Bases: EnumRegistry, aenum.IntEnum

[ContentType] TLS/DTLS Content Types

change_cipher_spec = 20

change_cipher_spec [RFC 9846]

alert = 21

alert [RFC 9846]

handshake = 22

handshake [RFC 9846]

application_data = 23

application_data [RFC 9846]

heartbeat = 24

heartbeat [RFC 6520]

tls12_cid = 25

tls12_cid [RFC 9146]

ack = 26

ACK [RFC 9147]

return_routability_check = 27

return_routability_check [RFC 9853]

classmethod _validate_value(value)[source]

Reject value unless it passes the range check _missing_() makes.

Overrides _validate_value() with that check and the message it raises, so register() refuses exactly the values get() refuses, in the same words (#1816).

Parameters:

value (Any) – Value about to be looked up or minted.

Raises:

EnumValueError – If value fails that check. A ValueError, so an except ValueError caller is unaffected.

classmethod _missing_(value)[source]

Lookup function used when value is not found.

Parameters:

value (int) – Value to get enum item.

Return type:

ContentType

TLS/DTLS HandshakeType

This module contains the constant enumeration for TLS/DTLS HandshakeType, which is automatically generated from pcapkit.vendor.tls.handshake_type.HandshakeType. It includes the DTLS-only messages RFC 9147 Section 5.2 adds to the registry.

class pcapkit.const.tls.handshake_type.HandshakeType(*values)[source]

Bases: EnumRegistry, aenum.IntEnum

[HandshakeType] TLS/DTLS HandshakeType

hello_request = 0

hello_request [RFC 9846] – Used in TLS versions prior to 1.3.

client_hello = 1

client_hello [RFC 9846]

server_hello = 2

server_hello [RFC 9846]

hello_verify_request = 3

hello_verify_request [RFC 6347][RFC 9846] – Assigned for interim draft, but the functionality was moved to a different message.

new_session_ticket = 4

new_session_ticket [RFC 4507][RFC 9846][RFC 8447][RFC Errata 7250]

end_of_early_data = 5

end_of_early_data [RFC 9846]

hello_retry_request = 6

hello_retry_request [RFC 9846] – Assigned for interim draft, but the functionality was moved to an extension.

unassigned_7 = 7

Unassigned

encrypted_extensions = 8

encrypted_extensions [RFC 9846]

request_connection_id = 9

request_connection_id [RFC 9147]

new_connection_id = 10

new_connection_id [RFC 9147]

certificate = 11

certificate [RFC 9846]

server_key_exchange = 12

server_key_exchange [RFC 9846] – Used in TLS versions prior to 1.3.

certificate_request = 13

certificate_request [RFC 9846]

server_hello_done = 14

server_hello_done [RFC 9846] – Used in TLS versions prior to 1.3.

certificate_verify = 15

certificate_verify [RFC 9846]

client_key_exchange = 16

client_key_exchange [RFC 9846] – Used in TLS versions prior to 1.3.

client_certificate_request = 17

client_certificate_request [RFC 9261] – Used in TLS versions prior to 1.3.

finished = 20

finished [RFC 9846]

certificate_url = 21

certificate_url [RFC 6066][RFC 9846] – Used in TLS versions prior to 1.3.

certificate_status = 22

certificate_status [RFC 6066][RFC 9846] – Used in TLS versions prior to 1.3.

supplemental_data = 23

supplemental_data [RFC 4680][RFC 9846] – Used in TLS versions prior to 1.3.

key_update = 24

key_update [RFC 9846]

compressed_certificate = 25

compressed_certificate [RFC 8879]

ekt_key = 26

ekt_key [RFC 8870]

message_hash = 254

message_hash [RFC 9846]

unassigned_255 = 255

Unassigned

classmethod _validate_value(value)[source]

Reject value unless it passes the range check _missing_() makes.

Overrides _validate_value() with that check and the message it raises, so register() refuses exactly the values get() refuses, in the same words (#1816).

Parameters:

value (Any) – Value about to be looked up or minted.

Raises:

EnumValueError – If value fails that check. A ValueError, so an except ValueError caller is unaffected.

classmethod _missing_(value)[source]

Lookup function used when value is not found.

Parameters:

value (int) – Value to get enum item.

Return type:

HandshakeType

TLS/DTLS ExtensionType Values

This module contains the constant enumeration for TLS/DTLS ExtensionType Values, which is automatically generated from pcapkit.vendor.tls.extension_type.ExtensionType.

class pcapkit.const.tls.extension_type.ExtensionType(*values)[source]

Bases: EnumRegistry, aenum.IntEnum

[ExtensionType] TLS/DTLS ExtensionType Values

server_name = 0

server_name [RFC 6066][RFC 9261]

max_fragment_length = 1

max_fragment_length [RFC 6066][RFC 8449]

client_certificate_url = 2

client_certificate_url [RFC 6066]

trusted_ca_keys = 3

trusted_ca_keys [RFC 6066]

truncated_hmac = 4

truncated_hmac [RFC 6066][IESG Action 2018-08-16][RFC 9847][Tag Size Does Matter: Attacks and Proofs for the TLS Record Protocol]

status_request = 5

status_request [RFC 6066][RFC 9846]

user_mapping = 6

user_mapping [RFC 4681]

client_authz = 7

client_authz [RFC 5878]

server_authz = 8

server_authz [RFC 5878]

cert_type = 9

cert_type [RFC 6091]

supported_groups = 10

supported_groups [RFC 8422][RFC 7919][RFC 9846]

ec_point_formats = 11

ec_point_formats [RFC 8422]

srp = 12

srp [RFC 5054]

signature_algorithms = 13

signature_algorithms [RFC 9846]

use_srtp = 14

use_srtp [RFC 5764]

heartbeat = 15

heartbeat [RFC 6520]

application_layer_protocol_negotiation = 16

application_layer_protocol_negotiation [RFC 7301]

status_request_v2 = 17

status_request_v2 [RFC 6961]

signed_certificate_timestamp = 18

signed_certificate_timestamp [RFC 6962]

client_certificate_type = 19

client_certificate_type [RFC 7250]

server_certificate_type = 20

server_certificate_type [RFC 7250]

padding = 21

padding [RFC 7685]

encrypt_then_mac = 22

encrypt_then_mac [RFC 7366]

extended_main_secret = 23

extended_main_secret [RFC 7627][RFC 9846]

token_binding = 24

token_binding [RFC 8472]

cached_info = 25

cached_info [RFC 7924][RFC 9846]

tls_lts = 26

tls_lts [draft-gutmann-tls-lts-11]

compress_certificate = 27

compress_certificate [RFC 8879]

record_size_limit = 28

record_size_limit [RFC 8449]

pwd_protect = 29

pwd_protect [RFC 8492]

pwd_clear = 30

pwd_clear [RFC 8492]

password_salt = 31

password_salt [RFC 8492]

ticket_pinning = 32

ticket_pinning [RFC 8672]

tls_cert_with_extern_psk = 33

tls_cert_with_extern_psk [RFC 9973]

delegated_credential = 34

delegated_credential [RFC 9345]

session_ticket = 35

session_ticket [RFC 5077][RFC 8447]

TLMSP = 36

TLMSP [ETSI TS 103 523-2]

TLMSP_proxying = 37

TLMSP_proxying [ETSI TS 103 523-2]

TLMSP_delegate = 38

TLMSP_delegate [ETSI TS 103 523-2]

supported_ekt_ciphers = 39

supported_ekt_ciphers [RFC 8870]

Reserved_40 = 40

Reserved [RFC 9847][tls-reg-review mailing list]

pre_shared_key = 41

pre_shared_key [RFC 9846]

early_data = 42

early_data [RFC 9846]

supported_versions = 43

supported_versions [RFC 9846]

cookie = 44

cookie [RFC 9846]

psk_key_exchange_modes = 45

psk_key_exchange_modes [RFC 9846]

Reserved_46 = 46

Reserved [RFC 9847][tls-reg-review mailing list]

certificate_authorities = 47

certificate_authorities [RFC 9846]

oid_filters = 48

oid_filters [RFC 9846]

post_handshake_auth = 49

post_handshake_auth [RFC 9846]

signature_algorithms_cert = 50

signature_algorithms_cert [RFC 9846]

key_share = 51

key_share [RFC 9846][RFC Errata 5483]

transparency_info = 52

transparency_info [RFC 9162]

connection_id_deprecated = 53

connection_id (deprecated) [RFC 9146][RFC 9847]

connection_id = 54

connection_id [RFC 9146]

external_id_hash = 55

external_id_hash [RFC 8844]

external_session_id = 56

external_session_id [RFC 8844]

quic_transport_parameters = 57

quic_transport_parameters [RFC 9001]

ticket_request = 58

ticket_request [RFC 9149]

dnssec_chain = 59

dnssec_chain [RFC 9102][RFC Errata 6860]

sequence_number_encryption_algorithms = 60

sequence_number_encryption_algorithms [draft-pismenny-tls-dtls-plaintext-sequence-number-01]

rrc = 61

rrc [RFC 9853]

tls_flags = 62

tls_flags [draft-ietf-tls-tlsflags-14]

Reserved_2570 = 2570

Reserved [RFC 8701]

Reserved_6682 = 6682

Reserved [RFC 8701]

Reserved_10794 = 10794

Reserved [RFC 8701]

Reserved_14906 = 14906

Reserved [RFC 8701]

Reserved_19018 = 19018

Reserved [RFC 8701]

Reserved_23130 = 23130

Reserved [RFC 8701]

Reserved_27242 = 27242

Reserved [RFC 8701]

Reserved_31354 = 31354

Reserved [RFC 8701]

Reserved_35466 = 35466

Reserved [RFC 8701]

Reserved_39578 = 39578

Reserved [RFC 8701]

Reserved_43690 = 43690

Reserved [RFC 8701]

Reserved_47802 = 47802

Reserved [RFC 8701]

Reserved_51914 = 51914

Reserved [RFC 8701]

Reserved_56026 = 56026

Reserved [RFC 8701]

Reserved_60138 = 60138

Reserved [RFC 8701]

Reserved_64250 = 64250

Reserved [RFC 8701]

ech_outer_extensions = 64768

ech_outer_extensions [RFC 9849] – Only appears in inner CH.

encrypted_client_hello = 65037

encrypted_client_hello [RFC 9849]

Reserved_for_Private_Use = 65280

Reserved for Private Use [RFC 9846]

renegotiation_info = 65281

renegotiation_info [RFC 5746]

classmethod _validate_value(value)[source]

Reject value unless it passes the range check _missing_() makes.

Overrides _validate_value() with that check and the message it raises, so register() refuses exactly the values get() refuses, in the same words (#1816).

Parameters:

value (Any) – Value about to be looked up or minted.

Raises:

EnumValueError – If value fails that check. A ValueError, so an except ValueError caller is unaffected.

classmethod _missing_(value)[source]

Lookup function used when value is not found.

Parameters:

value (int) – Value to get enum item.

Return type:

ExtensionType

Footnotes