2#include <vanetza/security/hashed_id.hpp>
3#include <vanetza/security/v3/certificate.hpp>
4#include <unordered_map>
5#include <unordered_set>
15
16
17
22
23
24
25
27 const Certificate* lookup(
const HashedId3& digest)
const;
30
31
32
35 size_t size()
const {
return m_storage.size(); }
38
39
40
41
42 bool announce(
const HashedId8& digest);
45
46
47
48
49
50 bool is_known(
const HashedId8& digest)
const;
57 CertificateMap m_storage;
58 ShortDigestMap m_short_digests;
59 std::unordered_set<HashedId8> m_digests;
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 const ecdsa256::PrivateKey & own_private_key()=0
virtual const Certificate & own_certificate()=0
virtual std::list< Certificate > own_chain()=0
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)
const Certificate * lookup(const HashedId8 &digest) const
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