|
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) |
| u_int32_t | sendingROC () const |
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 73 of file SRTPCryptographicContext.hh.
| SRTPCryptographicContext::SRTPCryptographicContext | ( | MIKEYState const & | mikeyState | ) |
|
virtual |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
inlineprivate |
Definition at line 129 of file SRTPCryptographicContext.hh.
References masterKeyPlusSalt().
|
inlineprivate |
Definition at line 127 of file SRTPCryptographicContext.hh.
References fMIKEYState, and MIKEYState::keyData().
Referenced by masterKey(), and masterSalt().
|
inlineprivate |
Definition at line 130 of file SRTPCryptographicContext.hh.
References masterKeyPlusSalt(), and SRTP_CIPHER_KEY_LENGTH.
|
inlineprivate |
Definition at line 135 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 | ||
| ) |
| u_int32_t SRTPCryptographicContext::sendingROC | ( | ) | const |
|
private |
|
private |
|
private |
|
inlineprivate |
Definition at line 134 of file SRTPCryptographicContext.hh.
References fMIKEYState, and MIKEYState::useAuthentication().
|
inlineprivate |
Definition at line 133 of file SRTPCryptographicContext.hh.
References MIKEYState::encryptSRTCP(), and fMIKEYState.
|
inlineprivate |
Definition at line 132 of file SRTPCryptographicContext.hh.
References MIKEYState::encryptSRTP(), and fMIKEYState.
|
private |
Definition at line 138 of file SRTPCryptographicContext.hh.
|
private |
Definition at line 141 of file SRTPCryptographicContext.hh.
|
private |
Definition at line 146 of file SRTPCryptographicContext.hh.
|
private |
Definition at line 124 of file SRTPCryptographicContext.hh.
Referenced by masterKeyPlusSalt(), MKI(), weAuthenticate(), weEncryptSRTCP(), and weEncryptSRTP().
|
private |
Definition at line 142 of file SRTPCryptographicContext.hh.
|
private |
Definition at line 143 of file SRTPCryptographicContext.hh.
|
private |
Definition at line 147 of file SRTPCryptographicContext.hh.
|
private |
Definition at line 150 of file SRTPCryptographicContext.hh.