BearSSL
Data Fields
br_sslrec_out_cbc_class Struct Reference

Record encryption engine class, for CBC mode. More...

Data Fields

br_sslrec_out_class inner
 Superclass, as first vtable field. More...
 
void(* init )(const br_sslrec_out_cbc_class **ctx, const br_block_cbcenc_class *bc_impl, const void *bc_key, size_t bc_key_len, const br_hash_class *dig_impl, const void *mac_key, size_t mac_key_len, size_t mac_out_len, const void *iv)
 Engine initialisation method. More...
 

Detailed Description

Record encryption engine class, for CBC mode.

This class type extends the encryption engine class with an initialisation method that receives the parameters needed for CBC processing: block cipher implementation, block cipher key, HMAC parameters (hash function, key, MAC length), and IV. If the IV is NULL, then a per-record IV will be used (TLS 1.1+).

Field Documentation

◆ init

void(* br_sslrec_out_cbc_class::init) (const br_sslrec_out_cbc_class **ctx, const br_block_cbcenc_class *bc_impl, const void *bc_key, size_t bc_key_len, const br_hash_class *dig_impl, const void *mac_key, size_t mac_key_len, size_t mac_out_len, const void *iv)

Engine initialisation method.

This method sets the vtable field in the context.

Parameters
ctxcontext to initialise.
bc_implblock cipher implementation (CBC encryption).
bc_keyblock cipher key.
bc_key_lenblock cipher key length (in bytes).
dig_implhash function for HMAC.
mac_keyHMAC key.
mac_key_lenHMAC key length (in bytes).
mac_out_lenHMAC output length (in bytes).
ivinitial IV (or NULL).

◆ inner

br_sslrec_out_class br_sslrec_out_cbc_class::inner

Superclass, as first vtable field.


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