Vanetza
 
Loading...
Searching...
No Matches
delegating_security_entity.hpp
1#ifndef DELEGATING_SECURITY_ENTITY_HPP_W1MFSVEN
2#define DELEGATING_SECURITY_ENTITY_HPP_W1MFSVEN
3
4#include <vanetza/security/security_entity.hpp>
5#include <vanetza/security/sign_service.hpp>
6#include <vanetza/security/verify_service.hpp>
7#include <memory>
8
9namespace vanetza
10{
11namespace security
12{
13
14/**
15 * Implementation of SecurityEntity delegating to SignService and VerifyService
16 */
18{
19public:
20 /**
21 * \brief Create security entity from primitive services.
22 *
23 * A std::invalid_argument exception is thrown at construction
24 * if any given service is not callable.
25 *
26 * \param sign SN-SIGN service
27 * \param verify SN-VERIFY service
28 */
29 DelegatingSecurityEntity(std::unique_ptr<SignService> sign, std::unique_ptr<VerifyService> verify);
30
31 EncapConfirm encapsulate_packet(EncapRequest&& encap_request) override;
32 DecapConfirm decapsulate_packet(DecapRequest&& decap_request) override;
33
34private:
35 std::unique_ptr<SignService> m_sign_service;
36 std::unique_ptr<VerifyService> m_verify_service;
37};
38
39} // namespace security
40} // namespace vanetza
41
42#endif /* DELEGATING_SECURITY_ENTITY_HPP_W1MFSVEN */
EncapConfirm encapsulate_packet(EncapRequest &&encap_request) override
Creates a security envelope covering the given payload.
DecapConfirm decapsulate_packet(DecapRequest &&decap_request) override
Decapsulates the payload within a SecuredMessage.
contains output of the verify process described in TS 102 723-8 v1.0.0 (2013-07) TS 102 636-4-1 v1....
contains input for verify process described in TS 102 723-8 v1.0.0 (2013-07) TS 102 636-4-1 v1....
contains output of the signing process described in TS 102 636-4-1 v1.2.3 (2015-01)