Vanetza
Loading...
Searching...
No Matches
issuer_memory_lookup.hpp
1#pragma once
2#include <vanetza/security/v3/certificate.hpp>
3#include <vanetza/security/v3/issuer_lookup.hpp>
4#include <unordered_map>
5
6namespace vanetza
7{
8namespace security
9{
10namespace v3
11{
12
13/**
14 * In-memory IssuerLookup populated programmatically with CA certificates.
15 */
17{
18public:
19 /**
20 * Insert or replace a CA certificate, keyed by its own HashedId8 digest.
21 * \param cert CA certificate
22 * \return true if stored, false if rejected (not a CA cert or digest unavailable)
23 */
24 bool insert(const Certificate& cert);
25
26 const Certificate* find_issuer(const HashedId8& digest) const override;
27
28private:
29 std::unordered_map<HashedId8, Certificate> m_certificates;
30};
31
32} // namespace v3
33} // namespace security
34} // namespace vanetza
boost::optional< HashedId8 > calculate_digest() const
const Certificate * find_issuer(const HashedId8 &digest) const override