iPXE
tls_cipher_suite Struct Reference

A TLS cipher suite. More...

#include <tls.h>

Data Fields

struct tls_key_exchange_algorithm * exchange
 Key exchange algorithm.
struct pubkey_algorithm * pubkey
 Public-key encryption algorithm.
struct cipher_algorithm * cipher
 Bulk encryption cipher algorithm.
struct digest_algorithm * digest
 MAC digest algorithm.
struct digest_algorithm * handshake
 Handshake digest algorithm (for TLSv1.2 and above).
uint16_t code
 Numeric code (in network-endian order).
uint8_t key_len
 Key length.
uint8_t fixed_iv_len
 Fixed initialisation vector length.
uint8_t record_iv_len
 Record initialisation vector length.
uint8_t mac_len
 MAC length.
uint8_t verify_len
 Verification data length.
uint8_t flags
 Flags.

Detailed Description

A TLS cipher suite.

All algorithm fields must be defined. If the cipher suite does not use the algorithm in question, then the null version of that algorithm must be used (e.g. &digest_null for AEAD ciphers that have no MAC digest algorithm).

Definition at line 266 of file tls.h.

Field Documentation

◆ exchange

◆ pubkey

◆ cipher

◆ digest

◆ handshake

◆ code

uint16_t tls_cipher_suite::code

Numeric code (in network-endian order).

Definition at line 278 of file tls.h.

Referenced by tls_client_hello(), and tls_find_cipher_suite().

◆ key_len

uint8_t tls_cipher_suite::key_len

Key length.

Definition at line 280 of file tls.h.

Referenced by tls_change_cipher(), and tls_cipher_name().

◆ fixed_iv_len

◆ record_iv_len

◆ mac_len

◆ verify_len

◆ flags

uint8_t tls_cipher_suite::flags

Flags.

Definition at line 290 of file tls.h.

Referenced by tls_new_ciphertext(), and tls_send_record().


The documentation for this struct was generated from the following file: