Public Types | |
using | Time64 = std::uint64_t |
using | SignerIdentifier = boost::variant<const asn1::HashedId8*, const asn1::Certificate*> |
using | base |
typedef asn1::EtsiTs103097Data | asn1c_type |
Public Member Functions | |
uint8_t | protocol_version () const |
ItsAid | its_aid () const |
PacketVariant | payload () const |
bool | is_signed () const |
bool | is_encrypted () const |
boost::optional< Time64 > | generation_time () const |
boost::optional< Signature > | signature () const |
SignerIdentifier | signer_identifier () const |
ByteBuffer | signing_payload () const |
HashAlgorithm | hash_id () const |
void | set_its_aid (ItsAid its_aid) |
void | set_generation_time (Time64 time) |
void | set_generation_location (const asn1::ThreeDLocation &location) |
void | set_payload (const ByteBuffer &payload) |
void | set_external_payload_hash (const Sha256Digest &hash) |
void | set_hash_id (HashAlgorithm) |
void | set_signature (const Signature &signature) |
std::list< HashedId3 > | get_inline_p2pcd_request () const |
void | set_inline_p2pcd_request (std::list< HashedId3 > requests) |
void | add_inline_p2pcd_request (HashedId3 unkown_certificate_digest) |
void | set_signature (const SomeEcdsaSignature &signature) |
void | set_dummy_signature () |
void | set_signer_identifier_self () |
void | set_signer_identifier (const HashedId8 &) |
void | set_signer_identifier (const Certificate &) |
void | set_requested_certificate (const Certificate &) |
void | get_aes_ccm_ciphertext (ByteBuffer &ccm_ciphertext, std::array< uint8_t, 12 > &nonce) const |
void | set_aes_ccm_ciphertext (const ByteBuffer &ccm_ciphertext, const std::array< uint8_t, 12 > &nonce) |
void | set_cert_recip_info (const HashedId8 &recipient_id, const KeyType curve_type, const std::array< uint8_t, 16 > &ecies_ciphertext, const std::array< uint8_t, 16 > &ecies_tag, const ecdsa256::PublicKey &ecies_pub_key) |
bool | check_psk_match (const std::array< uint8_t, 16 > &psk) const |
ByteBuffer | encode () const |
bool | decode (const ByteBuffer &buffer) |
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 | operator== (const asn1c_wrapper_common &rhs) const |
bool | operator!= (const asn1c_wrapper_common &rhs) const |
bool | validate () const |
bool | validate (std::string &error) const |
int | compare (const asn1c_wrapper_common &other) const |
int | print () const |
int | print (FILE *stream) const |
void | swap (asn1c_wrapper_common &other) noexcept |
Static Public Member Functions | |
static SecuredMessage | with_signed_data () |
static SecuredMessage | with_signed_data_hash () |
static SecuredMessage | with_encrypted_data () |
Protected Attributes | |
asn1c_type * | m_struct |
asn_TYPE_descriptor_t & | m_type |
Definition at line 28 of file secured_message.hpp.
|
inherited |
Definition at line 47 of file asn1c_wrapper.hpp.
|
inherited |
Definition at line 219 of file asn1c_wrapper.hpp.
using vanetza::security::v3::SecuredMessage::SignerIdentifier = boost::variant<const asn1::HashedId8*, const asn1::Certificate*> |
Definition at line 31 of file secured_message.hpp.
using vanetza::security::v3::SecuredMessage::Time64 = std::uint64_t |
Definition at line 30 of file secured_message.hpp.
vanetza::security::v3::SecuredMessage::SecuredMessage | ( | ) |
Definition at line 149 of file secured_message.cpp.
void vanetza::security::v3::SecuredMessage::add_inline_p2pcd_request | ( | HashedId3 | unkown_certificate_digest | ) |
Definition at line 235 of file secured_message.cpp.
bool vanetza::security::v3::SecuredMessage::check_psk_match | ( | const std::array< uint8_t, 16 > & | psk | ) | const |
Definition at line 538 of file secured_message.cpp.
|
inlineinherited |
Compare ASN.1 types
other | Other ASN.1 type to compare with |
Definition at line 119 of file asn1c_wrapper.hpp.
|
inlineinherited |
Definition at line 82 of file asn1c_wrapper.hpp.
|
inlineinherited |
Definition at line 81 of file asn1c_wrapper.hpp.
|
inlineinherited |
Try to decode ASN.1 struct from byte buffer
buffer | input data |
Definition at line 237 of file asn1c_wrapper.hpp.
|
inlineinherited |
Encode ASN.1 struct into byte buffer
Definition at line 226 of file asn1c_wrapper.hpp.
boost::optional< SecuredMessage::Time64 > vanetza::security::v3::SecuredMessage::generation_time | ( | ) | const |
Definition at line 584 of file secured_message.cpp.
void vanetza::security::v3::SecuredMessage::get_aes_ccm_ciphertext | ( | ByteBuffer & | ccm_ciphertext, |
std::array< uint8_t, 12 > & | nonce ) const |
Definition at line 474 of file secured_message.cpp.
std::list< HashedId3 > vanetza::security::v3::SecuredMessage::get_inline_p2pcd_request | ( | ) | const |
Definition at line 203 of file secured_message.cpp.
HashAlgorithm vanetza::security::v3::SecuredMessage::hash_id | ( | ) | const |
Definition at line 412 of file secured_message.cpp.
bool vanetza::security::v3::SecuredMessage::is_encrypted | ( | ) | const |
Definition at line 579 of file secured_message.cpp.
bool vanetza::security::v3::SecuredMessage::is_signed | ( | ) | const |
Definition at line 574 of file secured_message.cpp.
ItsAid vanetza::security::v3::SecuredMessage::its_aid | ( | ) | const |
Definition at line 159 of file secured_message.cpp.
|
inlineinherited |
Definition at line 89 of file asn1c_wrapper.hpp.
|
inlineinherited |
Definition at line 75 of file asn1c_wrapper.hpp.
|
inlineinherited |
Definition at line 77 of file asn1c_wrapper.hpp.
|
inlineinherited |
Definition at line 76 of file asn1c_wrapper.hpp.
|
inlineinherited |
Definition at line 78 of file asn1c_wrapper.hpp.
|
inlineinherited |
Definition at line 85 of file asn1c_wrapper.hpp.
PacketVariant vanetza::security::v3::SecuredMessage::payload | ( | ) | const |
Definition at line 370 of file secured_message.cpp.
|
inlineinherited |
Print ASN.1 type to standard output
Definition at line 128 of file asn1c_wrapper.hpp.
|
inlineinherited |
Print ASN.1 type to some file stream
stream | Output stream |
Definition at line 138 of file asn1c_wrapper.hpp.
uint8_t vanetza::security::v3::SecuredMessage::protocol_version | ( | ) | const |
Definition at line 154 of file secured_message.cpp.
void vanetza::security::v3::SecuredMessage::set_aes_ccm_ciphertext | ( | const ByteBuffer & | ccm_ciphertext, |
const std::array< uint8_t, 12 > & | nonce ) |
Definition at line 486 of file secured_message.cpp.
void vanetza::security::v3::SecuredMessage::set_cert_recip_info | ( | const HashedId8 & | recipient_id, |
const KeyType | curve_type, | ||
const std::array< uint8_t, 16 > & | ecies_ciphertext, | ||
const std::array< uint8_t, 16 > & | ecies_tag, | ||
const ecdsa256::PublicKey & | ecies_pub_key ) |
Definition at line 498 of file secured_message.cpp.
void vanetza::security::v3::SecuredMessage::set_dummy_signature | ( | ) |
Definition at line 247 of file secured_message.cpp.
void vanetza::security::v3::SecuredMessage::set_external_payload_hash | ( | const Sha256Digest & | hash | ) |
Definition at line 403 of file secured_message.cpp.
void vanetza::security::v3::SecuredMessage::set_generation_location | ( | const asn1::ThreeDLocation & | location | ) |
Definition at line 191 of file secured_message.cpp.
void vanetza::security::v3::SecuredMessage::set_generation_time | ( | Time64 | time | ) |
Definition at line 181 of file secured_message.cpp.
void vanetza::security::v3::SecuredMessage::set_hash_id | ( | HashAlgorithm | hash | ) |
Definition at line 433 of file secured_message.cpp.
void vanetza::security::v3::SecuredMessage::set_inline_p2pcd_request | ( | std::list< HashedId3 > | requests | ) |
Definition at line 218 of file secured_message.cpp.
void vanetza::security::v3::SecuredMessage::set_its_aid | ( | ItsAid | its_aid | ) |
Definition at line 171 of file secured_message.cpp.
void vanetza::security::v3::SecuredMessage::set_payload | ( | const ByteBuffer & | payload | ) |
Definition at line 388 of file secured_message.cpp.
void vanetza::security::v3::SecuredMessage::set_requested_certificate | ( | const Certificate & | cert | ) |
Definition at line 659 of file secured_message.cpp.
void vanetza::security::v3::SecuredMessage::set_signature | ( | const Signature & | signature | ) |
Definition at line 271 of file secured_message.cpp.
void vanetza::security::v3::SecuredMessage::set_signature | ( | const SomeEcdsaSignature & | signature | ) |
Definition at line 313 of file secured_message.cpp.
void vanetza::security::v3::SecuredMessage::set_signer_identifier | ( | const Certificate & | cert | ) |
Definition at line 465 of file secured_message.cpp.
void vanetza::security::v3::SecuredMessage::set_signer_identifier | ( | const HashedId8 & | digest | ) |
Definition at line 456 of file secured_message.cpp.
void vanetza::security::v3::SecuredMessage::set_signer_identifier_self | ( | ) |
Definition at line 448 of file secured_message.cpp.
boost::optional< Signature > vanetza::security::v3::SecuredMessage::signature | ( | ) | const |
Definition at line 597 of file secured_message.cpp.
SecuredMessage::SignerIdentifier vanetza::security::v3::SecuredMessage::signer_identifier | ( | ) | const |
Definition at line 629 of file secured_message.cpp.
ByteBuffer vanetza::security::v3::SecuredMessage::signing_payload | ( | ) | const |
Definition at line 649 of file secured_message.cpp.
|
inlineinherited |
Get size of encoded ASN.1 struct
Definition at line 256 of file asn1c_wrapper.hpp.
|
inlinenoexceptinherited |
Swap ASN.1 wrapper content
other | wrapper |
Definition at line 147 of file asn1c_wrapper.hpp.
|
inlineinherited |
Check ASN.1 constraints
error | (optional) copy of error message |
Definition at line 99 of file asn1c_wrapper.hpp.
|
inlineinherited |
Check ASN.1 constraints
error | Error message if any constraint failed |
Definition at line 109 of file asn1c_wrapper.hpp.
|
static |
Definition at line 140 of file secured_message.cpp.
|
static |
Definition at line 110 of file secured_message.cpp.
|
static |
Definition at line 126 of file secured_message.cpp.
|
protectedinherited |
Definition at line 154 of file asn1c_wrapper.hpp.
|
protectedinherited |
Definition at line 155 of file asn1c_wrapper.hpp.