Vanetza
Loading...
Searching...
No Matches
certificate_provider.hpp
1#ifndef A137DCCA_FFB9_4D91_8441_D559E6F17C14
2#define A137DCCA_FFB9_4D91_8441_D559E6F17C14
3
4#include <vanetza/security/ecdsa256.hpp>
5#include <vanetza/security/v2/certificate.hpp>
6#include <list>
7
8namespace vanetza
9{
10namespace security
11{
12namespace v2
13{
14
16{
17public:
18 /**
19 * Get own certificate to use for signing
20 * \return own certificate
21 */
22 virtual const Certificate& own_certificate() = 0;
23
24 /**
25 * Get own certificate chain in root CA → AA → AT order, excluding the AT and root certificate
26 * \return own certificate chain
27 */
28 virtual std::list<Certificate> own_chain() = 0;
29
30 /**
31 * Get private key associated with own certificate
32 * \return private key
33 */
34 virtual const ecdsa256::PrivateKey& own_private_key() = 0;
35
36 virtual ~CertificateProvider() = default;
37};
38
39} // namespace v2
40} // namespace security
41} // namespace vanetza
42
43#endif /* A137DCCA_FFB9_4D91_8441_D559E6F17C14 */
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.
Definition int_x.hpp:21
virtual void request_unrecognized_certificate(HashedId8 id)=0
bool is_known(const HashedId8 &digest) const
bool announce(const HashedId8 &digest)
virtual CertificateCache & cache()=0
virtual Verdict valid_for_signing(const CertificateView &certificate, ItsAid app)=0
virtual void discard_p2p_request(HashedId3 id)=0
virtual void enqueue_p2p_request(HashedId3 id)=0
virtual void request_unrecognized_certificate(HashedId8 id)=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