BearSSL

Data Fields
br_sslrec_in_cbc_class Struct Reference

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

`#include <bearssl_ssl.h>`

## Data Fields
br_sslrec_in_class | inner
| Superclass, as first vtable field. More...
void(* | init )(const br_sslrec_in_cbc_class **ctx, const br_block_cbcdec_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 decryption engine class, for CBC mode.

This class type extends the decryption 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_in_cbc_class::init) (const br_sslrec_in_cbc_class **ctx, const br_block_cbcdec_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

  ctx | context to initialise.
  bc_impl | block cipher implementation (CBC decryption).
  bc_key | block cipher key.
  bc_key_len | block cipher key length (in bytes).
  dig_impl | hash function for HMAC.
  mac_key | HMAC key.
  mac_key_len | HMAC key length (in bytes).
  mac_out_len | HMAC output length (in bytes).
  iv | initial IV (or `NULL`).

## ◆ inner

br_sslrec_in_class br_sslrec_in_cbc_class::inner

Superclass, as first vtable field.

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

- bearssl_ssl.h