#[repr(u8)]pub enum ProtectionProfile {
Aes128CmHmacSha1_80 = 1,
Aes128CmHmacSha1_32 = 2,
Aes256CmHmacSha1_80 = 3,
Aes256CmHmacSha1_32 = 4,
AeadAes128Gcm = 7,
AeadAes256Gcm = 8,
}Expand description
ProtectionProfile specifies Cipher and AuthTag details, similar to TLS cipher suite
Variants§
Aes128CmHmacSha1_80 = 1
SRTP_AES128_CM_HMAC_SHA1_80: AES-128 counter mode with an 80-bit HMAC-SHA1 tag.
The profile every WebRTC implementation supports.
Aes128CmHmacSha1_32 = 2
SRTP_AES128_CM_HMAC_SHA1_32: as above with a truncated 32-bit tag, trading
authentication strength for 6 bytes per packet.
Aes256CmHmacSha1_80 = 3
SRTP_AES256_CM_HMAC_SHA1_80: AES-256 counter mode with an 80-bit HMAC-SHA1 tag.
Aes256CmHmacSha1_32 = 4
SRTP_AES256_CM_HMAC_SHA1_32: AES-256 counter mode with a 32-bit HMAC-SHA1 tag.
AeadAes128Gcm = 7
SRTP_AEAD_AES_128_GCM: AES-128 in GCM, which authenticates as part of encryption
rather than with a separate HMAC.
AeadAes256Gcm = 8
SRTP_AEAD_AES_256_GCM: AES-256 in GCM.
Implementations§
Source§impl ProtectionProfile
impl ProtectionProfile
Sourcepub fn rtp_auth_tag_len(&self) -> usize
pub fn rtp_auth_tag_len(&self) -> usize
The authentication tag length appended to each SRTP packet, in bytes.
Sourcepub fn rtcp_auth_tag_len(&self) -> usize
pub fn rtcp_auth_tag_len(&self) -> usize
The authentication tag length appended to each SRTCP packet, in bytes.
Sourcepub fn aead_auth_tag_len(&self) -> usize
pub fn aead_auth_tag_len(&self) -> usize
The AEAD tag length in bytes, for the GCM profiles; 0 for the HMAC-SHA1 ones.
Sourcepub fn auth_key_len(&self) -> usize
pub fn auth_key_len(&self) -> usize
The HMAC authentication key length in bytes; 0 for the AEAD profiles, which derive
authentication from the cipher itself.
Trait Implementations§
Source§impl Clone for ProtectionProfile
impl Clone for ProtectionProfile
Source§fn clone(&self) -> ProtectionProfile
fn clone(&self) -> ProtectionProfile
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more