Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
DRM::CCryptoSession Class Referenceabstract

#include <CryptoSession.h>

Inheritance diagram for DRM::CCryptoSession:
DRM::CMediaDrmCryptoSession

Public Member Functions

virtual ~CCryptoSession ()=default
 
virtual XbmcCommons::Buffer GetKeyRequest (const XbmcCommons::Buffer &init, const std::string &mimeType, bool offlineKey, const std::map< std::string, std::string > &parameters)=0
 
virtual std::string GetPropertyString (const std::string &name)=0
 
virtual std::string ProvideKeyResponse (const XbmcCommons::Buffer &response)=0
 
virtual void RemoveKeys ()=0
 
virtual void RestoreKeys (const std::string &keySetId)=0
 
virtual void SetPropertyString (const std::string &name, const std::string &value)=0
 
virtual XbmcCommons::Buffer Decrypt (const XbmcCommons::Buffer &cipherKeyId, const XbmcCommons::Buffer &input, const XbmcCommons::Buffer &iv)=0
 
virtual XbmcCommons::Buffer Encrypt (const XbmcCommons::Buffer &cipherKeyId, const XbmcCommons::Buffer &input, const XbmcCommons::Buffer &iv)=0
 
virtual XbmcCommons::Buffer Sign (const XbmcCommons::Buffer &macKeyId, const XbmcCommons::Buffer &message)=0
 
virtual bool Verify (const XbmcCommons::Buffer &macKeyId, const XbmcCommons::Buffer &message, const XbmcCommons::Buffer &signature)=0
 

Static Public Member Functions

static CCryptoSessionGetCryptoSession (const std::string &UUID, const std::string &cipherAlgo, const std::string &macAlgo)
 

Static Protected Member Functions

static void RegisterInterface (GET_CRYPTO_SESSION_INTERFACE_FN fn)
 

Constructor & Destructor Documentation

◆ ~CCryptoSession()

virtual DRM::CCryptoSession::~CCryptoSession ( )
virtualdefault

Member Function Documentation

◆ Decrypt()

virtual XbmcCommons::Buffer DRM::CCryptoSession::Decrypt ( const XbmcCommons::Buffer & cipherKeyId,
const XbmcCommons::Buffer & input,
const XbmcCommons::Buffer & iv )
pure virtual

Implemented in DRM::CMediaDrmCryptoSession.

◆ Encrypt()

virtual XbmcCommons::Buffer DRM::CCryptoSession::Encrypt ( const XbmcCommons::Buffer & cipherKeyId,
const XbmcCommons::Buffer & input,
const XbmcCommons::Buffer & iv )
pure virtual

Implemented in DRM::CMediaDrmCryptoSession.

◆ GetCryptoSession()

CCryptoSession * CCryptoSession::GetCryptoSession ( const std::string & UUID,
const std::string & cipherAlgo,
const std::string & macAlgo )
static

◆ GetKeyRequest()

virtual XbmcCommons::Buffer DRM::CCryptoSession::GetKeyRequest ( const XbmcCommons::Buffer & init,
const std::string & mimeType,
bool offlineKey,
const std::map< std::string, std::string > & parameters )
pure virtual

Implemented in DRM::CMediaDrmCryptoSession.

◆ GetPropertyString()

virtual std::string DRM::CCryptoSession::GetPropertyString ( const std::string & name)
pure virtual

Implemented in DRM::CMediaDrmCryptoSession.

◆ ProvideKeyResponse()

virtual std::string DRM::CCryptoSession::ProvideKeyResponse ( const XbmcCommons::Buffer & response)
pure virtual

Implemented in DRM::CMediaDrmCryptoSession.

◆ RegisterInterface()

void CCryptoSession::RegisterInterface ( GET_CRYPTO_SESSION_INTERFACE_FN fn)
staticprotected

◆ RemoveKeys()

virtual void DRM::CCryptoSession::RemoveKeys ( )
pure virtual

Implemented in DRM::CMediaDrmCryptoSession.

◆ RestoreKeys()

virtual void DRM::CCryptoSession::RestoreKeys ( const std::string & keySetId)
pure virtual

Implemented in DRM::CMediaDrmCryptoSession.

◆ SetPropertyString()

virtual void DRM::CCryptoSession::SetPropertyString ( const std::string & name,
const std::string & value )
pure virtual

Implemented in DRM::CMediaDrmCryptoSession.

◆ Sign()

virtual XbmcCommons::Buffer DRM::CCryptoSession::Sign ( const XbmcCommons::Buffer & macKeyId,
const XbmcCommons::Buffer & message )
pure virtual

Implemented in DRM::CMediaDrmCryptoSession.

◆ Verify()

virtual bool DRM::CCryptoSession::Verify ( const XbmcCommons::Buffer & macKeyId,
const XbmcCommons::Buffer & message,
const XbmcCommons::Buffer & signature )
pure virtual

Implemented in DRM::CMediaDrmCryptoSession.


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