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
CertificateProvider
;
33
class
CertificateValidator
;
34
class
SignHeaderPolicy
;
35
36
}
// namespace v3
37
38
/**
39
* Verify service with basic certificate and signature checks
40
*/
41
class
StraightVerifyService :
public
VerifyService
42
{
43
public
:
44
StraightVerifyService(
const
Runtime
&,
Backend
&,
PositionProvider
&);
45
46
void
use_certificate_cache(
v2::CertificateCache
*);
47
void
use_certificate_provider(
v2::CertificateProvider
*);
48
void
use_certificate_validator(
v2::CertificateValidator
*);
49
void
use_sign_header_policy(
v2::SignHeaderPolicy
*);
50
51
void
use_certificate_provider(
v3::CertificateProvider
*);
52
void
use_certificate_validator(
v3::CertificateValidator
*);
53
void
use_sign_header_policy(
v3::SignHeaderPolicy
*);
54
55
VerifyConfirm
verify(
const
VerifyRequest
&)
override
;
56
VerifyConfirm
verify(
const
v2::SecuredMessage
&);
57
VerifyConfirm
verify(
const
v3::SecuredMessage
&);
58
59
private
:
60
const
Runtime
& m_runtime;
61
Backend
& m_backend;
62
PositionProvider
& m_position_provider;
63
64
struct
{
65
v2::CertificateCache
* m_cert_cache =
nullptr
;
66
v2::CertificateProvider
* m_cert_provider =
nullptr
;
67
v2::CertificateValidator
* m_cert_validator =
nullptr
;
68
v2::SignHeaderPolicy
* m_sign_policy =
nullptr
;
69
70
constexpr
bool
complete()
const
71
{
72
return
m_cert_cache && m_cert_provider && m_cert_validator && m_sign_policy;
73
}
74
} m_context_v2;
75
76
struct
{
77
v3::CertificateProvider
* m_cert_provider =
nullptr
;
78
v3::CertificateValidator
* m_cert_validator =
nullptr
;
79
v3::SignHeaderPolicy
* m_sign_policy =
nullptr
;
80
} m_context_v3;
81
};
82
83
}
// namespace security
84
}
// namespace vanetza
vanetza::PositionProvider
Definition
position_provider.hpp:16
vanetza::Runtime
Definition
runtime.hpp:16
vanetza::security::Backend
Definition
backend.hpp:25
vanetza::security::VerifyService
Definition
verify_service.hpp:62
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::CertificateProvider
Definition
certificate_provider.hpp:14
vanetza::security::v3::CertificateValidator
Definition
certificate_validator.hpp:23
vanetza::security::v3::SignHeaderPolicy
Definition
sign_header_policy.hpp:32
vanetza::security::VerifyConfirm
Definition
verify_service.hpp:50
vanetza::security::VerifyRequest
Definition
verify_service.hpp:43
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:29
vanetza
security
straight_verify_service.hpp
Generated on
for Vanetza by
1.14.0