1#include <vanetza/security/verify_service.hpp>
2#include <vanetza/security/v3/certificate_cache.hpp>
17 confirm.report = m_report;
18 confirm.certificate_validity = m_validity;
19 confirm.its_aid = get_its_aid(request.secured_message);
21 struct MessageVisitor : boost::static_visitor<>
24 m_service(service), m_confirm(confirm)
35 auto signer = msg.signer_identifier();
36 m_confirm.certificate_id = v3::get_certificate_id(signer);
38 if (m_confirm.certificate_id) {
39 if (m_service.m_cert_cache) {
40 if (
auto cert = v3::get_certificate(signer)) {
42 m_confirm.permissions = v3::get_app_permissions(*cert, m_confirm.its_aid);
43 }
else if (
auto cert = m_service.m_cert_cache->lookup(*m_confirm.certificate_id)) {
44 m_confirm.permissions = v3::get_app_permissions(*cert->content(), m_confirm.its_aid);
46 }
else if (
auto cert = v3::get_certificate(signer)) {
47 m_confirm.permissions = v3::get_app_permissions(*cert, m_confirm.its_aid);
54 } visitor(*
this, confirm);
55 boost::apply_visitor(visitor, request.secured_message);
DummyVerifyService(VerificationReport report, CertificateValidity validity)
void use_certificate_cache(v3::CertificateCache *cache)
register certificate cache for optional permission lookup
void store(Certificate cert)
SecuredMessage as specified in TS 103 097 v1.2.1, section 5.1.