Shaka Packager SDK
Public Member Functions | List of all members
shaka::media::AesCbcEncryptor Class Reference
Inheritance diagram for shaka::media::AesCbcEncryptor:
shaka::media::AesCryptor

Public Member Functions

 AesCbcEncryptor (CbcPaddingScheme padding_scheme)
 
 AesCbcEncryptor (CbcPaddingScheme padding_scheme, ConstantIvFlag constant_iv_flag)
 
bool InitializeWithIv (const std::vector< uint8_t > &key, const std::vector< uint8_t > &iv) override
 
size_t RequiredOutputSize (size_t plaintext_size) override
 
- Public Member Functions inherited from shaka::media::AesCryptor
 AesCryptor (ConstantIvFlag constant_iv_flag)
 
bool SetIv (const std::vector< uint8_t > &iv)
 
void UpdateIv ()
 
const std::vector< uint8_t > & iv () const
 
bool use_constant_iv () const
 
bool Crypt (const std::vector< uint8_t > &text, std::vector< uint8_t > *crypt_text)
 
bool Crypt (const std::string &text, std::string *crypt_text)
 
bool Crypt (const uint8_t *text, size_t text_size, uint8_t *crypt_text)
 
bool Crypt (const uint8_t *text, size_t text_size, uint8_t *crypt_text, size_t *crypt_text_size)
 

Additional Inherited Members

- Public Types inherited from shaka::media::AesCryptor
enum  ConstantIvFlag { kUseConstantIv , kDontUseConstantIv }
 
- Static Public Member Functions inherited from shaka::media::AesCryptor
static bool GenerateRandomIv (FourCC protection_scheme, std::vector< uint8_t > *iv)
 
- Protected Types inherited from shaka::media::AesCryptor
enum  CipherMode { kCtrMode , kCbcMode }
 
- Protected Member Functions inherited from shaka::media::AesCryptor
bool SetupCipher (size_t key_size, CipherMode mode)
 
- Protected Attributes inherited from shaka::media::AesCryptor
mbedtls_cipher_context_t cipher_ctx_
 

Detailed Description

Definition at line 62 of file aes_encryptor.h.

Constructor & Destructor Documentation

◆ AesCbcEncryptor() [1/2]

shaka::media::AesCbcEncryptor::AesCbcEncryptor ( CbcPaddingScheme  padding_scheme)
explicit

Creates a AesCbcEncryptor with continous cipher block chain across Crypt calls, i.e. AesCbcEncryptor(padding_scheme, kDontUseConstantIv).

Parameters
padding_schemeindicates the padding scheme used. Currently supported schemes: kNoPadding, kPkcs5Padding, kCtsPadding.

Definition at line 99 of file aes_encryptor.cc.

◆ AesCbcEncryptor() [2/2]

shaka::media::AesCbcEncryptor::AesCbcEncryptor ( CbcPaddingScheme  padding_scheme,
ConstantIvFlag  constant_iv_flag 
)
Parameters
padding_schemeindicates the padding scheme used. Currently supported schemes: kNoPadding, kPkcs5Padding, kCtsPadding.
constant_iv_flagindicates whether a constant iv is used, kUseConstantIv means that the same iv is used for all Crypt calls until iv is changed via SetIv; otherwise, iv is updated internally and there is a continuous cipher block chain across Crypt calls util iv is changed explicitly via SetIv or UpdateIv functions.

Definition at line 102 of file aes_encryptor.cc.

Member Function Documentation

◆ InitializeWithIv()

bool shaka::media::AesCbcEncryptor::InitializeWithIv ( const std::vector< uint8_t > &  key,
const std::vector< uint8_t > &  iv 
)
overridevirtual

Initialize the encryptor with specified key and IV.

Returns
true on successful initialization, false otherwise.

Implements shaka::media::AesCryptor.

Definition at line 114 of file aes_encryptor.cc.


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