Vanetza
Loading...
Searching...
No Matches
encap_service.hpp
1
#ifndef FD3D1A69_8B8D_4DC1_8975_9FEB7A791B56
2
#define FD3D1A69_8B8D_4DC1_8975_9FEB7A791B56
3
4
#include <vanetza/security/secured_message.hpp>
5
#include <vanetza/security/sign_service.hpp>
6
#include <boost/variant/variant.hpp>
7
8
namespace
vanetza
9
{
10
namespace
security
11
{
12
13
/**
14
* Input data for encapsulating a packet in a secured message.
15
*
16
* According to TS 102 723-8 V1.1.1, SN-ENCAP.request offers the very same
17
* functionality as SN-SIGN.request and SN-ENCRYPT.request.
18
*
19
* Since encryption is not yet implemented, so only SignRequest is included.
20
*/
21
using
EncapRequest = boost::variant<SignRequest>;
22
23
/**
24
* Confirmation of the encapsulation process (SN-ENCAP.confirm).
25
*
26
* TS 102 723-8 V1.1.1 includes only sec_packet but cannot report any errors.
27
* Instead of throwing exceptions, the variant may convey an error code instead
28
* of a SecuredMessage.
29
*/
30
struct
EncapConfirm
:
public
boost::variant<SecuredMessage, SignConfirmError>
31
{
32
public
:
33
static
EncapConfirm
from(
SignConfirm
&&);
34
35
const
SecuredMessage* secured_message()
const
;
36
SecuredMessage* secured_message();
37
38
private
:
39
using
variant::variant;
40
};
41
42
/**
43
* Dispatch an encapsulation request to the responsible service.
44
*
45
* \param encap_request SN-ENCAP.request data
46
* \param sign_service service handling signing requests
47
* \return SN-ENCAP.confirm
48
*/
49
EncapConfirm
dispatch(EncapRequest&& encap_request,
SignService
* sign_service);
50
51
}
// namespace security
52
}
// namespace vanetza
53
54
#endif
/* FD3D1A69_8B8D_4DC1_8975_9FEB7A791B56 */
vanetza::security::SignService
Definition
sign_service.hpp:64
vanetza::security::EncapConfirm
Definition
encap_service.hpp:31
vanetza::security::SignConfirm
Definition
sign_service.hpp:43
vanetza
security
encap_service.hpp
Generated on
for Vanetza by
1.14.0