Plaintext:

  • type: ContentType
  • legacy_record_version: u16 = 0x0303,
  • length: u16,
    • The length (in bytes) of the following TLSPlaintext.fragment. The length MUST NOT exceed 2^14 bytes.
  • fragment: opaque
    • the data being transmitted

Ciphertext

  • ContentType opaque_type = application_data; /* 23 */
  • ProtocolVersion legacy_record_version = 0x0303; /* TLS v1.2 */
  • uint16 length;
  • opaque encrypted_record[TLSCiphertext.length];

Handshake:

  • type: HandshakeType
  • length: u24
  • data: opaque

ServerHello:

  • ProtocolVersion legacy_version = 0x0303;
  • Random random;
  • opaque legacy_session_id_echo<0..32>;
  • CipherSuite cipher_suite;
  • uint8 legacy_compression_method = 0;
  • Extension extensions<6..2^16-1>;

Extension:

  • ExtensionType extension_type;
  • opaque extension_data<0..2^16-1>;

Functions

inline fn array(comptime elem_size: comptime_int, bytes: anytype) [2 + bytes.len]u8

No documentation provided.

fn emptyHash(comptime Hash: type) [Hash.digest_length]u8

No documentation provided.

inline fn enum_array(comptime E: type, comptime tags: []const E) [2 + (@sizeOf(E) * tags.len)]u8

No documentation provided.

inline fn extension(comptime et: ExtensionType, bytes: anytype) [(2 + 2) + bytes.len]u8

No documentation provided.

fn hkdfExpandLabel(comptime Hkdf: type, key: [Hkdf.prk_length]u8, label: []const u8, context: []const u8, comptime len: usize) [len]u8

No documentation provided.

fn hmac(comptime Hmac: type, message: []const u8, key: [Hmac.key_length]u8) [Hmac.mac_length]u8

No documentation provided.

inline fn int2(x: u16) [2]u8

No documentation provided.

inline fn int3(x: u24) [3]u8

No documentation provided.