1#ifndef VANETZA_CERTIFICATE_CACHE_HPP
2#define VANETZA_CERTIFICATE_CACHE_HPP
4#include <vanetza/common/clock.hpp>
5#include <vanetza/common/runtime.hpp>
6#include <vanetza/security/v2/certificate.hpp>
7#include <boost/heap/binomial_heap.hpp>
19
20
21
25 CertificateCache(
const Runtime& rt);
28
29
30
31
35
36
37
38
39
40
44
45
46
47 std::size_t
size()
const {
return m_certificates.size(); }
55 Expiry(
Clock::time_point, map_type::iterator);
56 const map_type::iterator certificate;
64 heap_type::handle_type handle;
69 map_type m_certificates;
72 bool is_expired(
const Expiry&)
const;
73 void refresh(heap_type::handle_type&,
Clock::duration);
virtual const PositionFix & position_fix()=0
virtual Clock::time_point now() const =0
static CertificateValidity valid()
Create CertificateValidity signalling a valid certificate This method is equivalent to default constr...
CertificateInvalidReason reason() const
Get reason for certificate invalidity This call is only safe if reason is available,...
void insert(const Certificate &certificate)
std::list< Certificate > lookup(const HashedId8 &id, SubjectType type)
virtual CertificateValidity check_certificate(const Certificate &certificate)=0
IntX specified in TS 103 097 v1.2.1, section 4.2.1.
bool is_known(const HashedId8 &digest) const
bool announce(const HashedId8 &digest)
void store(Certificate cert)
virtual CertificateCache & cache()=0
virtual Verdict valid_for_signing(const CertificateView &certificate, ItsAid app)=0
described in TS 103 097 v1.2.1 (2015-06), section 6.1
SecuredMessage as specified in TS 103 097 v1.2.1, section 5.1.
const TrailerField * trailer_field(TrailerFieldType type) const