live
|
#include <SRTPCryptographicContext.hh>
Data Structures | |
struct | allDerivedKeys |
struct | derivedKeys |
Public Member Functions | |
SRTPCryptographicContext (MIKEYState const &mikeyState) | |
virtual | ~SRTPCryptographicContext () |
Boolean | processIncomingSRTPPacket (u_int8_t *buffer, unsigned inPacketSize, unsigned &outPacketSize) |
Boolean | processIncomingSRTCPPacket (u_int8_t *buffer, unsigned inPacketSize, unsigned &outPacketSize) |
Boolean | processOutgoingSRTPPacket (u_int8_t *buffer, unsigned inPacketSize, unsigned &outPacketSize) |
Boolean | processOutgoingSRTCPPacket (u_int8_t *buffer, unsigned inPacketSize, unsigned &outPacketSize) |
Private Types | |
enum | SRTPKeyDerivationLabel { label_srtp_encryption = 0x00 , label_srtp_msg_auth = 0x01 , label_srtp_salt = 0x02 , label_srtcp_encryption = 0x03 , label_srtcp_msg_auth = 0x04 , label_srtcp_salt = 0x05 } |
Private Member Functions | |
unsigned | generateSRTPAuthenticationTag (u_int8_t const *dataToAuthenticate, unsigned numBytesToAuthenticate, u_int8_t *resultAuthenticationTag) |
unsigned | generateSRTCPAuthenticationTag (u_int8_t const *dataToAuthenticate, unsigned numBytesToAuthenticate, u_int8_t *resultAuthenticationTag) |
Boolean | verifySRTPAuthenticationTag (u_int8_t *dataToAuthenticate, unsigned numBytesToAuthenticate, u_int32_t roc, u_int8_t const *authenticationTag) |
Boolean | verifySRTCPAuthenticationTag (u_int8_t const *dataToAuthenticate, unsigned numBytesToAuthenticate, u_int8_t const *authenticationTag) |
void | decryptSRTPPacket (u_int64_t index, u_int32_t ssrc, u_int8_t *data, unsigned numDataBytes) |
void | decryptSRTCPPacket (u_int32_t index, u_int32_t ssrc, u_int8_t *data, unsigned numDataBytes) |
void | encryptSRTPPacket (u_int64_t index, u_int32_t ssrc, u_int8_t *data, unsigned numDataBytes) |
void | encryptSRTCPPacket (u_int32_t index, u_int32_t ssrc, u_int8_t *data, unsigned numDataBytes) |
unsigned | generateAuthenticationTag (derivedKeys &keysToUse, u_int8_t const *dataToAuthenticate, unsigned numBytesToAuthenticate, u_int8_t *resultAuthenticationTag) |
Boolean | verifyAuthenticationTag (derivedKeys &keysToUse, u_int8_t const *dataToAuthenticate, unsigned numBytesToAuthenticate, u_int8_t const *authenticationTag) |
void | cryptData (derivedKeys &keys, u_int64_t index, u_int32_t ssrc, u_int8_t *data, unsigned numDataBytes) |
void | performKeyDerivation () |
void | deriveKeysFromMaster (u_int8_t const *masterKey, u_int8_t const *salt, allDerivedKeys &allKeysResult) |
void | deriveSingleKey (u_int8_t const *masterKey, u_int8_t const *salt, SRTPKeyDerivationLabel label, unsigned resultKeyLength, u_int8_t *resultKey) |
u_int8_t const * | masterKeyPlusSalt () const |
u_int8_t const * | masterKey () const |
u_int8_t const * | masterSalt () const |
Boolean | weEncryptSRTP () const |
Boolean | weEncryptSRTCP () const |
Boolean | weAuthenticate () const |
u_int32_t | MKI () const |
Private Attributes | |
MIKEYState const & | fMIKEYState |
allDerivedKeys | fDerivedKeys |
Boolean | fHaveReceivedSRTPPackets |
u_int16_t | fPreviousHighRTPSeqNum |
u_int32_t | fReceptionROC |
Boolean | fHaveSentSRTPPackets |
u_int32_t | fSendingROC |
u_int32_t | fSRTCPIndex |
Definition at line 27 of file SRTPCryptographicContext.hh.
|
private |
Enumerator | |
---|---|
label_srtp_encryption | |
label_srtp_msg_auth | |
label_srtp_salt | |
label_srtcp_encryption | |
label_srtcp_msg_auth | |
label_srtcp_salt |
Definition at line 71 of file SRTPCryptographicContext.hh.
SRTPCryptographicContext::SRTPCryptographicContext | ( | MIKEYState const & | mikeyState | ) |
|
virtual |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
inlineprivate |
Definition at line 127 of file SRTPCryptographicContext.hh.
References masterKeyPlusSalt().
|
inlineprivate |
Definition at line 125 of file SRTPCryptographicContext.hh.
References fMIKEYState, and MIKEYState::keyData().
Referenced by masterKey(), and masterSalt().
|
inlineprivate |
Definition at line 128 of file SRTPCryptographicContext.hh.
References masterKeyPlusSalt(), and SRTP_CIPHER_KEY_LENGTH.
|
inlineprivate |
Definition at line 133 of file SRTPCryptographicContext.hh.
References fMIKEYState, and MIKEYState::MKI().
|
private |
Boolean SRTPCryptographicContext::processIncomingSRTCPPacket | ( | u_int8_t * | buffer, |
unsigned | inPacketSize, | ||
unsigned & | outPacketSize | ||
) |
Boolean SRTPCryptographicContext::processIncomingSRTPPacket | ( | u_int8_t * | buffer, |
unsigned | inPacketSize, | ||
unsigned & | outPacketSize | ||
) |
Boolean SRTPCryptographicContext::processOutgoingSRTCPPacket | ( | u_int8_t * | buffer, |
unsigned | inPacketSize, | ||
unsigned & | outPacketSize | ||
) |
Boolean SRTPCryptographicContext::processOutgoingSRTPPacket | ( | u_int8_t * | buffer, |
unsigned | inPacketSize, | ||
unsigned & | outPacketSize | ||
) |
|
private |
|
private |
|
private |
|
inlineprivate |
Definition at line 132 of file SRTPCryptographicContext.hh.
References fMIKEYState, and MIKEYState::useAuthentication().
|
inlineprivate |
Definition at line 131 of file SRTPCryptographicContext.hh.
References MIKEYState::encryptSRTCP(), and fMIKEYState.
|
inlineprivate |
Definition at line 130 of file SRTPCryptographicContext.hh.
References MIKEYState::encryptSRTP(), and fMIKEYState.
|
private |
Definition at line 136 of file SRTPCryptographicContext.hh.
|
private |
Definition at line 139 of file SRTPCryptographicContext.hh.
|
private |
Definition at line 144 of file SRTPCryptographicContext.hh.
|
private |
Definition at line 122 of file SRTPCryptographicContext.hh.
Referenced by masterKeyPlusSalt(), MKI(), weAuthenticate(), weEncryptSRTCP(), and weEncryptSRTP().
|
private |
Definition at line 140 of file SRTPCryptographicContext.hh.
|
private |
Definition at line 141 of file SRTPCryptographicContext.hh.
|
private |
Definition at line 145 of file SRTPCryptographicContext.hh.
|
private |
Definition at line 148 of file SRTPCryptographicContext.hh.