Vanetza
Loading...
Searching...
No Matches
vanetza::security::v3::CertificateCache Class Reference

#include <certificate_cache.hpp>

Public Member Functions

const Certificatelookup (const HashedId8 &digest) const
const Certificatelookup (const HashedId3 &digest) const
void store (Certificate cert)
size_t size () const
bool announce (const HashedId8 &digest)
bool is_known (const HashedId8 &digest) const

Private Types

using CertificateMap = std::unordered_map<HashedId8, Certificate>
using ShortDigestMap = std::unordered_map<HashedId3, CertificateMap::iterator>

Private Attributes

CertificateMap m_storage
ShortDigestMap m_short_digests
std::unordered_set< HashedId8 > m_digests

Detailed Description

CertificateCache stores validated v1.3.1 certificates for later lookup. Required for checking messages' signatures containing only a certificate digest.

Definition at line 18 of file certificate_cache.hpp.

Member Typedef Documentation

◆ CertificateMap

using vanetza::security::v3::CertificateCache::CertificateMap = std::unordered_map<HashedId8, Certificate>
private

Definition at line 53 of file certificate_cache.hpp.

◆ ShortDigestMap

using vanetza::security::v3::CertificateCache::ShortDigestMap = std::unordered_map<HashedId3, CertificateMap::iterator>
private

Definition at line 54 of file certificate_cache.hpp.

Member Function Documentation

◆ announce()

bool vanetza::security::v3::CertificateCache::announce ( const HashedId8 & digest)

Announce a station with a given certificate digest.

Parameters
digestcertificate digest
Returns
true if digest was not known before

Definition at line 45 of file certificate_cache.cpp.

◆ is_known()

bool vanetza::security::v3::CertificateCache::is_known ( const HashedId8 & digest) const

Test if a certificate digest is already known, i.e. either its certificate is stored or at least the digest has been announced.

Parameters
digestcertificate digest
Returns
true if digest is known

Definition at line 52 of file certificate_cache.cpp.

◆ lookup() [1/2]

const Certificate * vanetza::security::v3::CertificateCache::lookup ( const HashedId3 & digest) const

Definition at line 21 of file certificate_cache.cpp.

◆ lookup() [2/2]

const Certificate * vanetza::security::v3::CertificateCache::lookup ( const HashedId8 & digest) const

Lookup certificate based on given digest

Parameters
digestcertificate digest
Returns
certificate matching digest

Definition at line 11 of file certificate_cache.cpp.

◆ size()

size_t vanetza::security::v3::CertificateCache::size ( ) const
inline

Definition at line 35 of file certificate_cache.hpp.

◆ store()

void vanetza::security::v3::CertificateCache::store ( Certificate cert)

Store a (pre-validated) certificate in cache

Parameters
certcertificate

Definition at line 31 of file certificate_cache.cpp.

Member Data Documentation

◆ m_digests

std::unordered_set<HashedId8> vanetza::security::v3::CertificateCache::m_digests
private

Definition at line 59 of file certificate_cache.hpp.

◆ m_short_digests

ShortDigestMap vanetza::security::v3::CertificateCache::m_short_digests
private

Definition at line 58 of file certificate_cache.hpp.

◆ m_storage

CertificateMap vanetza::security::v3::CertificateCache::m_storage
private

Definition at line 57 of file certificate_cache.hpp.


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