LiveKit C++ Client SDK v1.1.0
Real-time audio/video/data SDK for C++
Loading...
Searching...
No Matches
livekit::E2EEManager::KeyProvider Class Reference

Manages encryption keys used by the E2EE pipeline. More...

#include <e2ee.h>

Public Member Functions

 KeyProvider (const KeyProvider &)=delete
 
KeyProvideroperator= (const KeyProvider &)=delete
 
 KeyProvider (KeyProvider &&) noexcept=default
 
KeyProvideroperator= (KeyProvider &&) noexcept=default
 
const KeyProviderOptionsoptions () const
 Returns the options used to initialize this KeyProvider.
 
void setSharedKey (const std::vector< std::uint8_t > &key, int key_index=0)
 Sets the shared key for the given key slot.
 
std::vector< std::uint8_t > exportSharedKey (int key_index=0) const
 Exports the shared key for a given key slot.
 
std::vector< std::uint8_t > ratchetSharedKey (int key_index=0)
 Ratchets the shared key at key_index and returns the newly derived key.
 
void setKey (const std::string &participant_identity, const std::vector< std::uint8_t > &key, int key_index=0)
 Sets a key for a specific participant identity.
 
std::vector< std::uint8_t > exportKey (const std::string &participant_identity, int key_index=0) const
 Exports a participant-specific key.
 
std::vector< std::uint8_t > ratchetKey (const std::string &participant_identity, int key_index=0)
 Ratchets a participant-specific key and returns the new key.
 

Friends

class E2EEManager
 

Detailed Description

Manages encryption keys used by the E2EE pipeline.

Use this for key rotation during the lifetime of a single room or for per-participant keys (e.g., when implementing the MEGOLM or MLS protocol) via shared-key or participant-keyed APIs paired with the frame cryptor. See https://docs.livekit.io/home/client/encryption/#custom-key-provider for details.


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