Vanetza
Loading...
Searching...
No Matches
issuer_memory_lookup.cpp
1#include <vanetza/security/v3/issuer_memory_lookup.hpp>
2
3namespace vanetza
4{
5namespace security
6{
7namespace v3
8{
9
11{
12 if (!cert.is_ca_certificate()) {
13 return false;
14 }
15 auto digest = cert.calculate_digest();
16 if (!digest) {
17 return false;
18 }
19 auto it = m_certificates.find(*digest);
20 if (it != m_certificates.end()) {
21 it->second = cert;
22 } else {
23 m_certificates.emplace(*digest, cert);
24 }
25 return true;
26}
27
28const Certificate* IssuerMemoryLookup::find_issuer(const HashedId8& digest) const
29{
30 auto it = m_certificates.find(digest);
31 return it == m_certificates.end() ? nullptr : &it->second;
32}
33
34} // namespace v3
35} // namespace security
36} // namespace vanetza
boost::optional< HashedId8 > calculate_digest() const
const Certificate * find_issuer(const HashedId8 &digest) const override