#include <tls_extensions.h>
Used to indicate SRTP algorithms for DTLS (RFC 5764)
Definition at line 435 of file tls_extensions.h.
◆ SRTP_Protection_Profiles() [1/3]
Botan::TLS::SRTP_Protection_Profiles::SRTP_Protection_Profiles |
( |
const std::vector< uint16_t > & | pp | ) |
|
|
inlineexplicit |
◆ SRTP_Protection_Profiles() [2/3]
Botan::TLS::SRTP_Protection_Profiles::SRTP_Protection_Profiles |
( |
uint16_t | pp | ) |
|
|
inlineexplicit |
◆ SRTP_Protection_Profiles() [3/3]
Botan::TLS::SRTP_Protection_Profiles::SRTP_Protection_Profiles |
( |
TLS_Data_Reader & | reader, |
|
|
uint16_t | extension_size ) |
Definition at line 657 of file tls_extensions.cpp.
657 :
658 m_pp(reader.get_range<uint16_t>(2, 0, 65535)) {
659 const std::vector<uint8_t> mki = reader.get_range<uint8_t>(1, 0, 255);
660
661 if(m_pp.size() * 2 + mki.size() + 3 != extension_size) {
662 throw Decoding_Error("Bad encoding for SRTP protection extension");
663 }
664
665 if(!mki.empty()) {
666 throw Decoding_Error("Unhandled non-empty MKI for SRTP protection extension");
667 }
668}
References Botan::TLS::TLS_Data_Reader::get_range().
◆ empty()
bool Botan::TLS::SRTP_Protection_Profiles::empty |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ is_implemented()
virtual bool Botan::TLS::Extension::is_implemented |
( |
| ) |
const |
|
inlinevirtualinherited |
◆ profiles()
const std::vector< uint16_t > & Botan::TLS::SRTP_Protection_Profiles::profiles |
( |
| ) |
const |
|
inline |
◆ serialize()
std::vector< uint8_t > Botan::TLS::SRTP_Protection_Profiles::serialize |
( |
Connection_Side | whoami | ) |
const |
|
overridevirtual |
- Returns
- serialized binary for the extension
Implements Botan::TLS::Extension.
Definition at line 670 of file tls_extensions.cpp.
670 {
671 std::vector<uint8_t> buf;
672
673 const uint16_t pp_len = static_cast<uint16_t>(m_pp.size() * 2);
674 buf.push_back(get_byte<0>(pp_len));
675 buf.push_back(get_byte<1>(pp_len));
676
677 for(uint16_t pp : m_pp) {
678 buf.push_back(get_byte<0>(pp));
679 buf.push_back(get_byte<1>(pp));
680 }
681
682 buf.push_back(0);
683
684 return buf;
685}
◆ static_type()
static Extension_Code Botan::TLS::SRTP_Protection_Profiles::static_type |
( |
| ) |
|
|
inlinestatic |
◆ type()
The documentation for this class was generated from the following files: