LiveKit C++ SDK
Real-time audio/video SDK for C++
Loading...
Searching...
No Matches
livekit::KeyProviderOptions Struct Reference

#include <e2ee.h>

Public Attributes

std::optional< std::vector< std::uint8_t > > shared_key
 
std::vector< std::uint8_t > ratchet_salt
 
int ratchet_window_size = kDefaultRatchetWindowSize
 Controls how many previous keys are retained during ratcheting.
 
int failure_tolerance = kDefaultFailureTolerance
 Number of tolerated ratchet failures before reporting encryption errors.
 

Detailed Description

Options for configuring the key provider used by E2EE.

Notes:

  • shared_key is optional. If omitted, the application may set keys later (e.g. via KeyProvider::setSharedKey / per-participant keys).
  • ratchet_salt may be empty to indicate "use implementation default".
  • ratchet_window_size and failure_tolerance use SDK defaults unless overridden.

Member Data Documentation

◆ ratchet_salt

std::vector<std::uint8_t> livekit::KeyProviderOptions::ratchet_salt
Initial value:
= std::vector<std::uint8_t>(
kDefaultRatchetSalt, kDefaultRatchetSalt + std::char_traits<char>::length(
kDefaultRatchetSalt))

Salt used when deriving ratcheted keys.

If empty, the underlying implementation default is used.

◆ shared_key

std::optional<std::vector<std::uint8_t> > livekit::KeyProviderOptions::shared_key

Shared static key for "shared-key E2EE" (optional).

If set, it must be identical (byte-for-byte) across all participants that are expected to decrypt each other’s media.

If not set, keys must be provided out-of-band later (e.g. via KeyProvider APIs).


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