iPXE
Data Fields
tls_cipher_suite Struct Reference

A TLS cipher suite. More...

#include <tls.h>

Data Fields

struct tls_key_exchange_algorithmexchange
 Key exchange algorithm. More...
 
struct pubkey_algorithmpubkey
 Public-key encryption algorithm. More...
 
struct cipher_algorithmcipher
 Bulk encryption cipher algorithm. More...
 
struct digest_algorithmdigest
 MAC digest algorithm. More...
 
struct digest_algorithmhandshake
 Handshake digest algorithm (for TLSv1.2 and above) More...
 
uint16_t code
 Numeric code (in network-endian order) More...
 
uint8_t key_len
 Key length. More...
 
uint8_t fixed_iv_len
 Fixed initialisation vector length. More...
 
uint8_t record_iv_len
 Record initialisation vector length. More...
 
uint8_t mac_len
 MAC length. More...
 

Detailed Description

A TLS cipher suite.

Definition at line 187 of file tls.h.

Field Documentation

◆ exchange

struct tls_key_exchange_algorithm* tls_cipher_suite::exchange

Key exchange algorithm.

Definition at line 189 of file tls.h.

Referenced by tls_select_cipher(), and tls_send_client_key_exchange().

◆ pubkey

struct pubkey_algorithm* tls_cipher_suite::pubkey

Public-key encryption algorithm.

Definition at line 191 of file tls.h.

Referenced by tls_clear_cipher(), tls_select_cipher(), tls_send_client_key_exchange_pubkey(), tls_set_cipher(), tls_validator_done(), and tls_verify_dh_params().

◆ cipher

struct cipher_algorithm* tls_cipher_suite::cipher

Bulk encryption cipher algorithm.

Definition at line 193 of file tls.h.

Referenced by tls_generate_keys(), tls_new_ciphertext(), tls_newdata_process_header(), tls_select_cipher(), tls_send_plaintext(), and tls_set_cipher().

◆ digest

struct digest_algorithm* tls_cipher_suite::digest

◆ handshake

struct digest_algorithm* tls_cipher_suite::handshake

Handshake digest algorithm (for TLSv1.2 and above)

Definition at line 197 of file tls.h.

Referenced by tls_select_cipher().

◆ code

uint16_t tls_cipher_suite::code

Numeric code (in network-endian order)

Definition at line 199 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 201 of file tls.h.

Referenced by tls_generate_keys(), and tls_select_cipher().

◆ fixed_iv_len

uint8_t tls_cipher_suite::fixed_iv_len

Fixed initialisation vector length.

Definition at line 203 of file tls.h.

Referenced by tls_generate_keys(), tls_new_ciphertext(), tls_send_plaintext(), and tls_set_cipher().

◆ record_iv_len

uint8_t tls_cipher_suite::record_iv_len

Record initialisation vector length.

Definition at line 205 of file tls.h.

Referenced by tls_new_ciphertext(), tls_newdata_process_header(), and tls_send_plaintext().

◆ mac_len

uint8_t tls_cipher_suite::mac_len

MAC length.

Definition at line 207 of file tls.h.

Referenced by tls_generate_keys(), tls_hmac_init(), tls_new_ciphertext(), tls_send_plaintext(), and tls_set_cipher().


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