CSRTPCryptoHandlerSRTCP Class Reference

class CSRTPCryptoHandlerSRTCP : public CSRTPCryptoHandler

Contains RTCP specific handling of cryptographic context.

Inherits from

Public Member Functions
~CSRTPCryptoHandlerSRTCP()
HBufC8 *CalculateAuthTagL()
CSRTPCryptoHandlerSRTCP *NewL(CSRTPStream &)
CSRTPCryptoHandlerSRTCP *NewLC(CSRTPStream &)
Private Member Functions
CSRTPCryptoHandlerSRTCP(CSRTPStream &)
voidAddAuthTagToPacketL(TUint8 *)
voidAddEflagAndSrtcpIndex(TUint8 *)
voidAddMKIToPacket(TUint8 *)
voidAddReplayIndex()
voidAuthenticateL()
voidCheckMasterKeyIdentifierL()
voidConstructL()
HBufC8 *CountIV_And_TransformL()
voidCountSenderPacketIndexL()
HBufC8 *DecryptL()
voidDeriveSessionKeysL()
HBufC8 *DoAuthenticationL(const TDesC8 &, const TDesC8 &)
HBufC8 *EncryptL()
voidIndexReKeyCheckL()
voidInitialPacketIndex()
voidInitializeEncryptedPacketL(const TDesC8 &)
voidInitializePlainPacketL(const TDesC8 &)
TBool MasterKeysUpdated()
voidReceiverPacketIndexL()
voidReplayProtectionL()
voidStripEBit()
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
CSRTPCryptoHandler::CSRTPCryptoHandler(CSRTPStream &)
CSRTPCryptoHandler::Context()
CSRTPCryptoHandler::Count_X(TUint64,TInt8,const TUint64,TDes8 &)
CSRTPCryptoHandler::CryptoParams()
CSRTPCryptoHandler::DeleteSessionKeys()
CSRTPCryptoHandler::ROC()const
CSRTPCryptoHandler::ReplayCheck(TInt)
CSRTPCryptoHandler::SRTPMasterKeyChanged()
CSRTPCryptoHandler::SRTPMasterSaltChanged()
CSRTPCryptoHandler::SSRC()const
CSRTPCryptoHandler::SetEncAndAuthL(TSRTPEncAlg,TSRTPAuthAlg)
CSRTPCryptoHandler::SetROC(TUint32)
CSRTPCryptoHandler::~CSRTPCryptoHandler()
Private Attributes
TUint64 iPcktsProcessed
TInt iReplayIndexDelta
TUint64 iReplayPktIndex
TUint32 iSRTCPIndex
TUint32 iSRTCPIndexEStripped
TUint64 iSRTCPMasterKeyLifeTime
Inherited Attributes
CSRTPCryptoHandler::iAuthenticator
CSRTPCryptoHandler::iBitmap
CSRTPCryptoHandler::iCipher
CSRTPCryptoHandler::iCurrentPacket
CSRTPCryptoHandler::iHandlerLink
CSRTPCryptoHandler::iHandlerOffset
CSRTPCryptoHandler::iKeyDeriver
CSRTPCryptoHandler::iMasterDataUpdated
CSRTPCryptoHandler::iNumPackets
CSRTPCryptoHandler::iReKey
CSRTPCryptoHandler::iSessionAuthKey
CSRTPCryptoHandler::iSessionEncrKey
CSRTPCryptoHandler::iSessionSaltKey
CSRTPCryptoHandler::iStream

Constructor & Destructor Documentation

CSRTPCryptoHandlerSRTCP(CSRTPStream &)

CSRTPCryptoHandlerSRTCP(CSRTPStream &aStream)[private]

Parameters

CSRTPStream & aStream

~CSRTPCryptoHandlerSRTCP()

~CSRTPCryptoHandlerSRTCP()

Member Functions Documentation

AddAuthTagToPacketL(TUint8 *)

voidAddAuthTagToPacketL(TUint8 *aSrtpPacketPtr)[private]

Parameters

TUint8 * aSrtpPacketPtr

AddEflagAndSrtcpIndex(TUint8 *)

voidAddEflagAndSrtcpIndex(TUint8 *aSrtcpPacketPtr)[private]

Parameters

TUint8 * aSrtcpPacketPtr

AddMKIToPacket(TUint8 *)

voidAddMKIToPacket(TUint8 *aSrtpPacketPtr)[private]

Parameters

TUint8 * aSrtpPacketPtr

AddReplayIndex()

voidAddReplayIndex()[private]

AuthenticateL()

voidAuthenticateL()[private, virtual]

CalculateAuthTagL()

HBufC8 *CalculateAuthTagL()
Calculate authentication tag for an RTP packet. Authentication is based on the current TSRTPAuthAlg algorithm setting in CryptoContext If the operation fails, the function leaves with a system error code.
leave
KErrNone if success, system-wide error code otherwise, KErrNotFound means that authentication tags dont match

CheckMasterKeyIdentifierL()

voidCheckMasterKeyIdentifierL()[private, virtual]

ConstructL()

voidConstructL()[private]

CountIV_And_TransformL()

HBufC8 *CountIV_And_TransformL()[private]

CountSenderPacketIndexL()

voidCountSenderPacketIndexL()[private]

DecryptL()

HBufC8 *DecryptL()[private, virtual]

DeriveSessionKeysL()

voidDeriveSessionKeysL()[private, virtual]

DoAuthenticationL(const TDesC8 &, const TDesC8 &)

HBufC8 *DoAuthenticationL(const TDesC8 &aAuthenticatedArea,
const TDesC8 &aRoc
)[private]

Parameters

const TDesC8 & aAuthenticatedArea
const TDesC8 & aRoc

EncryptL()

HBufC8 *EncryptL()[private, virtual]

IndexReKeyCheckL()

voidIndexReKeyCheckL()[private]

InitialPacketIndex()

voidInitialPacketIndex()[private]

InitializeEncryptedPacketL(const TDesC8 &)

voidInitializeEncryptedPacketL(const TDesC8 &aPacket)[private, virtual]

Parameters

const TDesC8 & aPacket

InitializePlainPacketL(const TDesC8 &)

voidInitializePlainPacketL(const TDesC8 &aPacket)[private, virtual]

Parameters

const TDesC8 & aPacket

MasterKeysUpdated()

TBool MasterKeysUpdated()[private, virtual]

NewL(CSRTPStream &)

CSRTPCryptoHandlerSRTCP *NewL(CSRTPStream &aStream)[static]

Two-phased constructor.

Parameters

CSRTPStream & aStreamRTCP stream

NewLC(CSRTPStream &)

CSRTPCryptoHandlerSRTCP *NewLC(CSRTPStream &aStream)[static]

Two-phased constructor.

Parameters

CSRTPStream & aStreamRTCP stream

ReceiverPacketIndexL()

voidReceiverPacketIndexL()[private]

ReplayProtectionL()

voidReplayProtectionL()[private, virtual]

StripEBit()

voidStripEBit()[private]

Member Data Documentation

TUint64 iPcktsProcessed

TUint64 iPcktsProcessed[private]

TInt iReplayIndexDelta

TInt iReplayIndexDelta[private]

TUint64 iReplayPktIndex

TUint64 iReplayPktIndex[private]

TUint32 iSRTCPIndex

TUint32 iSRTCPIndex[private]

TUint32 iSRTCPIndexEStripped

TUint32 iSRTCPIndexEStripped[private]

TUint64 iSRTCPMasterKeyLifeTime

TUint64 iSRTCPMasterKeyLifeTime[private]