Vanetza
Loading...
Searching...
No Matches
straight_verify_service.hpp
1
#pragma once
2
#include <vanetza/security/verify_service.hpp>
3
4
namespace
vanetza
5
{
6
7
// forward declaration
8
class
PositionProvider;
9
class
Runtime;
10
11
namespace
security
12
{
13
14
// forward declarations
15
class
Backend;
16
17
namespace
v2
18
{
19
20
// forward declarations
21
class
CertificateCache;
22
class
CertificateProvider;
23
class
CertificateValidator;
24
class
SignHeaderPolicy;
25
26
}
// namespace v2
27
28
namespace
v3
29
{
30
31
// forward declarations
32
class
CertificateCache;
33
34
}
// namespace v3
35
36
/**
37
* Verify service with basic certificate and signature checks
38
*/
39
class
StraightVerifyService
:
public
VerifyService
40
{
41
public
:
42
StraightVerifyService
(
const
Runtime
&,
Backend
&,
PositionProvider
&);
43
44
void
use_certificate_cache(
v2::CertificateCache
*);
45
void
use_certificate_provider(
v2::CertificateProvider
*);
46
void
use_certitifcate_validator(
v2::CertificateValidator
*);
47
void
use_sign_header_policy(
v2::SignHeaderPolicy
*);
48
49
void
use_certificate_cache(
v3::CertificateCache
*);
50
51
VerifyConfirm
verify(
VerifyRequest
&&)
override
;
52
VerifyConfirm
verify(
const
v2::SecuredMessage
&);
53
VerifyConfirm
verify(
const
v3::SecuredMessage
&);
54
55
private
:
56
const
Runtime
& m_runtime;
57
Backend
& m_backend;
58
PositionProvider
& m_position_provider;
59
60
struct
{
61
v2::CertificateCache
* m_cert_cache =
nullptr
;
62
v2::CertificateProvider
* m_cert_provider =
nullptr
;
63
v2::CertificateValidator
* m_cert_validator =
nullptr
;
64
v2::SignHeaderPolicy
* m_sign_policy =
nullptr
;
65
66
constexpr
bool
complete()
const
67
{
68
return
m_cert_cache && m_cert_provider && m_cert_validator && m_sign_policy;
69
}
70
} m_context_v2;
71
72
struct
{
73
v3::CertificateCache
* m_cert_cache =
nullptr
;
74
} m_context_v3;
75
};
76
77
}
// namespace security
78
}
// namespace vanetza
vanetza::PositionProvider
Definition:
position_provider.hpp:16
vanetza::Runtime
Definition:
runtime.hpp:16
vanetza::security::Backend
Definition:
backend.hpp:23
vanetza::security::StraightVerifyService
Definition:
straight_verify_service.hpp:40
vanetza::security::VerifyService
Definition:
verify_service.hpp:55
vanetza::security::v2::CertificateCache
Definition:
certificate_cache.hpp:23
vanetza::security::v2::CertificateProvider
Definition:
certificate_provider.hpp:16
vanetza::security::v2::CertificateValidator
Definition:
certificate_validator.hpp:17
vanetza::security::v2::SignHeaderPolicy
Definition:
sign_header_policy.hpp:33
vanetza::security::v3::CertificateCache
Definition:
certificate_cache.hpp:18
vanetza::security::VerifyConfirm
Definition:
verify_service.hpp:43
vanetza::security::VerifyRequest
Definition:
verify_service.hpp:36
vanetza::security::v2::SecuredMessage
SecuredMessage as specified in TS 103 097 v1.2.1, section 5.1.
Definition:
secured_message.hpp:20
vanetza::security::v3::SecuredMessage
Definition:
secured_message.hpp:25
vanetza
security
straight_verify_service.hpp
Generated on Thu Nov 30 2023 12:03:35 for Vanetza by
1.9.6