8#include <ocpp/v2/message_handler.hpp>
9#include <ocpp/v2/ocsp_updater.hpp>
15struct FunctionalBlockContext;
17struct CertificateSignedRequest;
18struct CertificateSignedResponse;
19struct GetInstalledCertificateIdsRequest;
20struct Get15118EVCertificateRequest;
21struct Get15118EVCertificateResponse;
22struct InstallCertificateRequest;
23struct DeleteCertificateRequest;
24struct SignCertificateResponse;
26typedef std::function<void(
const CiString<50>& event_type,
const std::optional<CiString<255>>& tech_info)>
27 SecurityEventCallback;
34 virtual void security_event_notification_req(
const CiString<50>& event_type,
36 const bool triggered_internally,
const bool critical,
37 const std::optional<DateTime>& timestamp = std::nullopt) = 0;
38 virtual void sign_certificate_req(
const ocpp::CertificateSigningUseEnum& certificate_signing_use,
39 const bool initiated_by_trigger_message =
false) = 0;
40 virtual void stop_certificate_signed_timer() = 0;
41 virtual void init_certificate_expiration_check_timers() = 0;
42 virtual void stop_certificate_expiration_check_timers() = 0;
54 virtual void stop_certificate_signed_timer()
override;
55 void init_certificate_expiration_check_timers()
override;
56 void stop_certificate_expiration_check_timers()
override;
61 virtual void security_event_notification_req(
const CiString<50>& event_type,
63 const bool triggered_internally,
const bool critical,
64 const std::optional<DateTime>& timestamp = std::nullopt)
override;
65 virtual void sign_certificate_req(
const ocpp::CertificateSigningUseEnum& certificate_signing_use,
66 const bool initiated_by_trigger_message =
false)
override;
73 SecurityEventCallback security_event_callback;
76 std::optional<ocpp::CertificateSigningUseEnum> awaited_certificate_signing_use_enum;
77 Everest::SteadyTimer certificate_signed_timer;
78 Everest::SteadyTimer client_certificate_expiration_check_timer;
79 Everest::SteadyTimer v2g_certificate_expiration_check_timer;
98 bool should_allow_certificate_install(InstallCertificateUseEnum cert_type)
const;
99 void scheduled_check_client_certificate_expiration();
100 void scheduled_check_v2g_certificate_expiration();
contains a ocpp message logging abstraction
Definition: ocpp_logging.hpp:45
Interface for handling OCPP2.0.1 CALL messages from the CSMS. Classes implementing a functional block...
Definition: message_handler.hpp:13
Definition: ocsp_updater.hpp:44
Definition: security.hpp:29
Definition: security.hpp:48
void handle_message(const EnhancedMessage< MessageType > &message) override
Handles the given message from the CSMS. This includes dispatching a CALLRESULT as a response to the ...
Definition: security.cpp:42
Contains a OCPP CallResult message.
Definition: call_types.hpp:105
Contains a OCPP Call message.
Definition: call_types.hpp:60
Contains a OCPP message in json form with additional information.
Definition: message_queue.hpp:54
Context / requirements for the functional blocks.
Definition: functional_block_context.hpp:23
Contains a OCPP Get15118EVCertificate message.
Definition: Get15118EVCertificate.hpp:20
Contains a OCPP Get15118EVCertificateResponse message.
Definition: Get15118EVCertificate.hpp:42