1#include <vanetza/common/its_aid.hpp>
2#include <vanetza/security/delegating_security_entity.hpp>
11 m_sign_service(
std::move(sign)),
12 m_verify_service(
std::move(verify))
14 if (!m_sign_service) {
15 throw std::invalid_argument(
"SN-SIGN service is not callable");
16 }
else if (!m_verify_service) {
17 throw std::invalid_argument(
"SN-VERIFY service is not callable");
24 sign_request.plain_message = std::move(encap_request.plaintext_payload);
25 sign_request.its_aid = encap_request.its_aid;
27 SignConfirm sign_confirm = m_sign_service->sign(std::move(sign_request));
29 encap_confirm.sec_packet = std::move(sign_confirm.secured_message);
37 decap_confirm.plaintext_payload = get_payload_copy(decap_request.sec_packet);
38 decap_confirm.report =
static_cast<DecapReport
>(verify_confirm.report);
39 decap_confirm.certificate_validity = verify_confirm.certificate_validity;
40 decap_confirm.its_aid = verify_confirm.its_aid;
41 decap_confirm.permissions = verify_confirm.permissions;
EncapConfirm encapsulate_packet(EncapRequest &&encap_request) override
Creates a security envelope covering the given payload.
DelegatingSecurityEntity(std::unique_ptr< SignService > sign, std::unique_ptr< VerifyService > verify)
Create security entity from primitive services.
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)