Vanetza
 
Loading...
Searching...
No Matches
vanetza::security::v3::SecuredMessage Struct Reference
Inheritance diagram for vanetza::security::v3::SecuredMessage:

Public Types

using Time64 = std::uint64_t
 
using SignerIdentifier = boost::variant< const HashedId8_t *, const Certificate_t * >
 
using base = asn1c_wrapper_common< EtsiTs103097Data_t >
 
typedef T asn1c_type
 

Public Member Functions

uint8_t protocol_version () const
 
ItsAid its_aid () const
 
PacketVariant payload () const
 
bool is_signed () const
 
boost::optional< Time64 > generation_time () const
 
boost::optional< Signaturesignature () const
 
SignerIdentifier signer_identifier () const
 
ByteBuffer signing_payload () const
 
ByteBuffer encode () const
 
bool decode (const ByteBuffer &buffer)
 
bool decode (ByteBuffer::const_iterator begin, ByteBuffer::const_iterator end)
 
bool decode (const void *buffer, std::size_t len)
 
std::size_t size () const
 
asn1c_type & operator* ()
 
const asn1c_type & operator* () const
 
asn1c_type * operator-> ()
 
const asn1c_type * operator-> () const
 
const asn1c_type * content () const
 
asn1c_type * content ()
 
bool validate () const
 
bool validate (std::string &error) const
 
void swap (asn1c_wrapper_common &other) noexcept
 

Protected Attributes

asn1c_type * m_struct
 
asn_TYPE_descriptor_t & m_type
 

Detailed Description

Definition at line 24 of file secured_message.hpp.

Member Typedef Documentation

◆ asn1c_type

template<class T >
typedef T vanetza::asn1::asn1c_wrapper_common< T >::asn1c_type
inherited

Definition at line 41 of file asn1c_wrapper.hpp.

◆ base

using vanetza::asn1::asn1c_oer_wrapper< EtsiTs103097Data_t >::base = asn1c_wrapper_common<EtsiTs103097Data_t >
inherited

Definition at line 172 of file asn1c_wrapper.hpp.

◆ SignerIdentifier

using vanetza::security::v3::SecuredMessage::SignerIdentifier = boost::variant<const HashedId8_t*, const Certificate_t*>

Definition at line 27 of file secured_message.hpp.

◆ Time64

using vanetza::security::v3::SecuredMessage::Time64 = std::uint64_t

Definition at line 26 of file secured_message.hpp.

Constructor & Destructor Documentation

◆ SecuredMessage()

vanetza::security::v3::SecuredMessage::SecuredMessage ( )

Definition at line 99 of file secured_message.cpp.

Member Function Documentation

◆ content() [1/2]

template<class T >
asn1c_type * vanetza::asn1::asn1c_wrapper_common< T >::content ( )
inlineinherited

Definition at line 74 of file asn1c_wrapper.hpp.

◆ content() [2/2]

template<class T >
const asn1c_type * vanetza::asn1::asn1c_wrapper_common< T >::content ( ) const
inlineinherited

Definition at line 73 of file asn1c_wrapper.hpp.

◆ decode() [1/3]

bool vanetza::asn1::asn1c_oer_wrapper< EtsiTs103097Data_t >::decode ( ByteBuffer::const_iterator  begin,
ByteBuffer::const_iterator  end 
)
inlineinherited

Definition at line 195 of file asn1c_wrapper.hpp.

◆ decode() [2/3]

bool vanetza::asn1::asn1c_oer_wrapper< EtsiTs103097Data_t >::decode ( const ByteBuffer &  buffer)
inlineinherited

Try to decode ASN.1 struct from byte buffer

Parameters
bufferinput data
Deprecated:
use decode_per instead
Returns
true if decoding has been successful

Definition at line 190 of file asn1c_wrapper.hpp.

◆ decode() [3/3]

bool vanetza::asn1::asn1c_oer_wrapper< EtsiTs103097Data_t >::decode ( const void *  buffer,
std::size_t  len 
)
inlineinherited

Definition at line 200 of file asn1c_wrapper.hpp.

◆ encode()

ByteBuffer vanetza::asn1::asn1c_oer_wrapper< EtsiTs103097Data_t >::encode ( ) const
inlineinherited

Encode ASN.1 struct into byte buffer

Returns
byte buffer containing serialized ASN.1 struct

Definition at line 179 of file asn1c_wrapper.hpp.

◆ generation_time()

boost::optional< SecuredMessage::Time64 > vanetza::security::v3::SecuredMessage::generation_time ( ) const

Definition at line 141 of file secured_message.cpp.

◆ is_signed()

bool vanetza::security::v3::SecuredMessage::is_signed ( ) const

Definition at line 136 of file secured_message.cpp.

◆ its_aid()

ItsAid vanetza::security::v3::SecuredMessage::its_aid ( ) const

Definition at line 109 of file secured_message.cpp.

◆ operator*() [1/2]

template<class T >
asn1c_type & vanetza::asn1::asn1c_wrapper_common< T >::operator* ( )
inlineinherited

Definition at line 67 of file asn1c_wrapper.hpp.

◆ operator*() [2/2]

template<class T >
const asn1c_type & vanetza::asn1::asn1c_wrapper_common< T >::operator* ( ) const
inlineinherited

Definition at line 69 of file asn1c_wrapper.hpp.

◆ operator->() [1/2]

template<class T >
asn1c_type * vanetza::asn1::asn1c_wrapper_common< T >::operator-> ( )
inlineinherited

Definition at line 68 of file asn1c_wrapper.hpp.

◆ operator->() [2/2]

template<class T >
const asn1c_type * vanetza::asn1::asn1c_wrapper_common< T >::operator-> ( ) const
inlineinherited

Definition at line 70 of file asn1c_wrapper.hpp.

◆ payload()

PacketVariant vanetza::security::v3::SecuredMessage::payload ( ) const

Definition at line 121 of file secured_message.cpp.

◆ protocol_version()

uint8_t vanetza::security::v3::SecuredMessage::protocol_version ( ) const

Definition at line 104 of file secured_message.cpp.

◆ signature()

boost::optional< Signature > vanetza::security::v3::SecuredMessage::signature ( ) const

Definition at line 154 of file secured_message.cpp.

◆ signer_identifier()

SecuredMessage::SignerIdentifier vanetza::security::v3::SecuredMessage::signer_identifier ( ) const

Definition at line 186 of file secured_message.cpp.

◆ signing_payload()

ByteBuffer vanetza::security::v3::SecuredMessage::signing_payload ( ) const

Definition at line 205 of file secured_message.cpp.

◆ size()

std::size_t vanetza::asn1::asn1c_oer_wrapper< EtsiTs103097Data_t >::size ( ) const
inlineinherited

Get size of encoded ASN.1 struct

Returns
size in bytes

Definition at line 209 of file asn1c_wrapper.hpp.

◆ swap()

template<class T >
void vanetza::asn1::asn1c_wrapper_common< T >::swap ( asn1c_wrapper_common< T > &  other)
inlinenoexceptinherited

Swap ASN.1 wrapper content

Parameters
otherwrapper

Definition at line 100 of file asn1c_wrapper.hpp.

◆ validate() [1/2]

template<class T >
bool vanetza::asn1::asn1c_wrapper_common< T >::validate ( ) const
inlineinherited

Check ASN.1 constraints

Parameters
error(optional) copy of error message
Returns
true if valid

Definition at line 81 of file asn1c_wrapper.hpp.

◆ validate() [2/2]

template<class T >
bool vanetza::asn1::asn1c_wrapper_common< T >::validate ( std::string &  error) const
inlineinherited

Check ASN.1 constraints

Parameters
errorError message if any constraint failed
Returns
true if valid

Definition at line 91 of file asn1c_wrapper.hpp.

Member Data Documentation

◆ m_struct

template<class T >
asn1c_type* vanetza::asn1::asn1c_wrapper_common< T >::m_struct
protectedinherited

Definition at line 107 of file asn1c_wrapper.hpp.

◆ m_type

template<class T >
asn_TYPE_descriptor_t& vanetza::asn1::asn1c_wrapper_common< T >::m_type
protectedinherited

Definition at line 108 of file asn1c_wrapper.hpp.


The documentation for this struct was generated from the following files: