Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
ITS - Intelligent Transport Systems
ITS
Commits
aa041aaa
Commit
aa041aaa
authored
Oct 05, 2018
by
Yann Garcia
Browse files
Review Pki Test System
parent
64aed2df
Changes
21
Expand all
Hide whitespace changes
Inline
Side-by-side
.TITAN_properties
View file @
aa041aaa
...
...
@@ -5,7 +5,11 @@
<MakefileSettings>
<functiontestRuntime>
true
</functiontestRuntime>
<targetExecutable>
bin/TSITS
</targetExecutable>
<TTCN3preprocessorDefines>
<listItem>
_NO_SOFTLINKS_
</listItem>
</TTCN3preprocessorDefines>
<preprocessorDefines>
<listItem>
_NO_SOFTLINKS_
</listItem>
<listItem>
_USE_MATH_DEFINES
</listItem>
<listItem>
ASN_DISABLE_OER_SUPPORT
</listItem>
<listItem>
OSTYPE=cygwin
</listItem>
...
...
@@ -44,6 +48,27 @@
</LocalBuildSettings>
</ProjectProperties>
<FolderProperties>
<FolderResource>
<FolderPath>
ccsrc/Ports/LibIts_ports/DCC_ports
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ccsrc/Ports/LibIts_ports/EVCSN_ports
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ccsrc/Ports/LibIts_ports/V2G_ports
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
data
</FolderPath>
<FolderProperties>
...
...
@@ -51,13 +76,266 @@
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
javasrc
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
patches
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
requality
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
tools
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
tt3plugins
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ttcn/AtsATSP
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ttcn/AtsBTP
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ttcn/AtsDCC
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ttcn/AtsFNTP
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ttcn/AtsFSAP
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ttcn/AtsIICP
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ttcn/AtsIPv6OverGeoNetworking
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ttcn/AtsV2G
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ttcn/LibIts/asn1/CALMfntp
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ttcn/LibIts/asn1/CALMfsap
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ttcn/LibIts/asn1/CALMiitsscu
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ttcn/LibIts/asn1/CALMipv6
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ttcn/LibIts/asn1/CALMllsap
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ttcn/LibIts/asn1/CALMmanagement
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ttcn/LibIts/asn1/CALMmsap
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ttcn/LibIts/asn1/CITSapplMgmt
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ttcn/LibIts/asn1/CITSapplReq
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ttcn/LibIts/asn1/DSRCData
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ttcn/LibIts/asn1/IS/ISO_TS_19091/original
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ttcn/LibIts/asn1/ProtocolManagementInformation
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ttcn/LibIts/asn1/TransportAddressMib
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ttcn/LibIts/ttcn/CALM
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ttcn/LibIts/ttcn/DCC
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ttcn/LibIts/ttcn/V2G
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
ttcn/LibIts/xsd
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
<FolderResource>
<FolderPath>
unittests
</FolderPath>
<FolderProperties>
<CentralStorage>
false
</CentralStorage>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FolderProperties>
</FolderResource>
</FolderProperties>
<FileProperties>
<FileResource>
<FilePath>
ccsrc/EncDec/LibItsEvcsn_Encdec.cc
</FilePath>
<FileProperties>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FileProperties>
</FileResource>
<FileResource>
<FilePath>
ccsrc/Externals/LibItsDcc_externals.cc
</FilePath>
<FileProperties>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FileProperties>
</FileResource>
<FileResource>
<FilePath>
ccsrc/Ports/LibIts_ports/Pki_ports/AdapterControlPort_Pki.partC
</FilePath>
<FileProperties>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FileProperties>
</FileResource>
<FileResource>
<FilePath>
ccsrc/Ports/LibIts_ports/Pki_ports/AdapterControlPort_Pki.partH
</FilePath>
<FileProperties>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FileProperties>
</FileResource>
<FileResource>
<FilePath>
data/gencerts.cfg
</FilePath>
<FileProperties>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FileProperties>
</FileResource>
<FileResource>
<FilePath>
ttcn/LibIts/asn1/Security/TS102921/EtsiTs102941MessagesCA.asn
</FilePath>
<FileProperties>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FileProperties>
</FileResource>
<FileResource>
<FilePath>
ttcn/LibIts/asn1/Security/TS102921/EtsiTs102941MessagesItss_OptionalPrivacy.asn
</FilePath>
<FileProperties>
<ExcludeFromBuild>
true
</ExcludeFromBuild>
</FileProperties>
</FileResource>
</FileProperties>
</TITAN_Designer_Properties>
\ No newline at end of file
ccsrc/Ports/LibIts_ports/AdapterControlPort.cc
View file @
aa041aaa
...
...
@@ -9,6 +9,7 @@
#include
"IVIM_ports/AdapterControlPort_IVIM.partC"
#include
"MapemSpatem_ports/AdapterControlPort_MapemSpatem.partC"
#include
"SremSsem_ports/AdapterControlPort_SremSsem.partC"
//#include "Pki_ports/AdapterControlPort_Pki.partC"
//#include "V2G_ports/AdapterControlPort_V2G.partC"
#else //_NO_SOFTLINKS_
...
...
@@ -19,6 +20,7 @@
#include
"AdapterControlPort_MapemSpatem.partC"
#include
"AdapterControlPort_SremSsem.partC"
#include
"AdapterControlPort_GN.partC"
//#include "AdapterControlPort_Pki.partC"
/*
#include "AdapterControlPort_IVIM.partC"
#include "AdapterControlPort_MapemSpatem.partC"
...
...
ccsrc/Ports/LibIts_ports/AdapterControlPort.hh
View file @
aa041aaa
...
...
@@ -9,6 +9,7 @@
#include
"CAM_ports/AdapterControlPort_CAM.partH"
#include
"DENM_ports/AdapterControlPort_DENM.partH"
#include
"GN_ports/AdapterControlPort_GN.partH"
//#include "Pki_ports/AdapterControlPort_Pki.partH"
#include
"IVIM_ports/AdapterControlPort_IVIM.partH"
#include
"MapemSpatem_ports/AdapterControlPort_MapemSpatem.partH"
#include
"SremSsem_ports/AdapterControlPort_SremSsem.partH"
...
...
@@ -22,6 +23,7 @@
#include
"AdapterControlPort_MapemSpatem.partH"
#include
"AdapterControlPort_SremSsem.partH"
#include
"AdapterControlPort_GN.partH"
//#include "AdapterControlPort_Pki.partH"
/*
#include "AdapterControlPort_IVIM.partH"
#include "AdapterControlPort_MapemSpatem.partH"
...
...
ccsrc/Ports/LibIts_ports/Pki_ports/AdapterControlPort_Pki.partC
0 → 100644
View file @
aa041aaa
#include <TTCN3.hh>
#include "loggers.hh"
#include "registration.hh"
#include "http_layer.hh"
//=============================================================================
namespace LibItsPki__TestSystem {
AdapterControlPort::AdapterControlPort(const char *par_port_name)
: AdapterControlPort_BASE(par_port_name), _params()
{
loggers::get_instance().log("AdapterControlPort::AdapterControlPort");
}
AdapterControlPort::~AdapterControlPort()
{
}
void AdapterControlPort::set_parameter(const char * parameter_name, const char * parameter_value)
{
loggers::get_instance().log("AdapterControlPort::set_parameter: %s=%s", parameter_name, parameter_value);
}
/*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable,
boolean is_writable, boolean is_error) {}*/
void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/)
{
}
void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/)
{
}
void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/)
{
}
/*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/
void AdapterControlPort::user_map(const char * system_port)
{
loggers::get_instance().log(">>> AdapterControlPort::user_map: %s", system_port);
}
void AdapterControlPort::user_unmap(const char * system_port)
{
loggers::get_instance().log(">>> AdapterControlPort::user_unmap: %s", system_port);
}
void AdapterControlPort::user_start()
{
}
void AdapterControlPort::user_stop()
{
}
void AdapterControlPort::outgoing_send(const LibItsPki__TypesAndValues::AcGnPrimitive& send_par)
{
loggers::get_instance().log_msg(">>> AdapterControlPort::outgoing_send: ", send_par);
}
void AdapterControlPort::outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par)
{
loggers::get_instance().log_msg(">>> AdapterControlPort::outgoing_send: ", send_par);
// Register this object for AdapterControlPort
http_layer* p = registration<http_layer>::get_instance().get_item(std::string("HTTP"));
if (p != NULL) {
loggers::get_instance().log("AdapterControlPort::outgoing_send: Got HTTP layer %p", p);
LibItsCommon__TypesAndValues::AdapterControlResults response;
response.acSecResponse() = BOOLEAN(true);
if (send_par.ischosen(LibItsCommon__TypesAndValues::AcSecPrimitive::ALT_acEnableSecurity)) {
loggers::get_instance().log("AdapterControlPort::outgoing_send: Enable secured mode");
std::string str(static_cast<const char*>(send_par.acEnableSecurity().certificateId()));
if (p->enable_secured_mode(str, send_par.acEnableSecurity().enforceSecurity()) == -1) {
response.acSecResponse() = BOOLEAN(false);
}
} else if (send_par.ischosen(LibItsCommon__TypesAndValues::AcSecPrimitive::ALT_acDisableSecurity)) {
loggers::get_instance().log("AdapterControlPort::outgoing_send: Disable secured mode");
if (p->disable_secured_mode() == -1) {
response.acSecResponse() = BOOLEAN(false);
}
} else {
response.acSecResponse() = BOOLEAN(false);
}
// Send response
loggers::get_instance().log_msg("AdapterControlPort::outgoing_send: Send response: ", response);
incoming_message(response);
} else {
loggers::get_instance().error("AdapterControlPort::outgoing_send: %s not registered", "geoNetworkingPort");
}
}
} /* end of namespace */
ccsrc/Ports/LibIts_ports/Pki_ports/AdapterControlPort_Pki.partH
0 → 100644
View file @
aa041aaa
//=============================================================================
#include "LibItsPki_TestSystem.hh"
#include "params.hh"
namespace LibItsPki__TestSystem {
class AdapterControlPort : public AdapterControlPort_BASE {
params _params;
public:
AdapterControlPort(const char *par_port_name = NULL);
~AdapterControlPort();
void set_parameter(const char *parameter_name,
const char *parameter_value);
private:
/* void Handle_Fd_Event(int fd, boolean is_readable,
boolean is_writable, boolean is_error); */
void Handle_Fd_Event_Error(int fd);
void Handle_Fd_Event_Writable(int fd);
void Handle_Fd_Event_Readable(int fd);
/* void Handle_Timeout(double time_since_last_call); */
protected:
void user_map(const char *system_port);
void user_unmap(const char *system_port);
void user_start();
void user_stop();
void outgoing_send(const LibItsPki__TypesAndValues::AcGnPrimitive& send_par);
void outgoing_send(const LibItsCommon__TypesAndValues::AcSecPrimitive& send_par);
};
} /* end of namespace */
ccsrc/Ports/LibIts_ports/Pki_ports/PkiPort.cc
View file @
aa041aaa
...
...
@@ -68,11 +68,35 @@ void PkiPort::user_stop()
}
void
PkiPort
::
outgoing_send
(
const
LibItsPki__TestSystem
::
PkiReq
&
/*
send_par
*/
)
void
PkiPort
::
outgoing_send
(
const
EtsiTs102941TypesEnrolment
::
InnerEcRequest
&
send_par
)
{
}
void
PkiPort
::
outgoing_send
(
const
EtsiTs102941TypesEnrolment
::
InnerEcResponse
&
send_par
)
{
}
void
PkiPort
::
receiveMsg
(
const
EtsiTs102941TypesEnrolment
::
InnerEcRequest
&
p_ind
,
const
params
&
p_params
)
{
loggers
::
get_instance
().
log_msg
(
">>> PkiPort::receive_msg: "
,
p_ind
);
// Sanity check
if
(
!
p_ind
.
is_bound
())
{
return
;
}
incoming_message
(
p_ind
);
}
void
PkiPort
::
receiveMsg
(
const
EtsiTs102941TypesEnrolment
::
InnerEcResponse
&
p_ind
,
const
params
&
p_params
)
{
loggers
::
get_instance
().
log_msg
(
">>> PkiPort::receive_msg: "
,
p_ind
);
// Sanity check
if
(
!
p_ind
.
is_bound
())
{
return
;
}
incoming_message
(
p_ind
);
}
}
/* end of namespace */
ccsrc/Ports/LibIts_ports/Pki_ports/PkiPort.hh
View file @
aa041aaa
...
...
@@ -19,8 +19,9 @@ public:
PkiPort
(
const
char
*
par_port_name
=
NULL
);
~
PkiPort
();
void
set_parameter
(
const
char
*
parameter_name
,
const
char
*
parameter_value
);
void
set_parameter
(
const
char
*
parameter_name
,
const
char
*
parameter_value
);
void
receiveMsg
(
const
EtsiTs102941TypesEnrolment
::
InnerEcRequest
&
p_ind
,
const
params
&
p_params
);
void
receiveMsg
(
const
EtsiTs102941TypesEnrolment
::
InnerEcResponse
&
p_ind
,
const
params
&
p_params
);
private:
/* void Handle_Fd_Event(int fd, boolean is_readable,
...
...
@@ -36,7 +37,8 @@ protected:
void
user_start
();
void
user_stop
();
void
outgoing_send
(
const
LibItsPki__TestSystem
::
PkiReq
&
send_par
);
void
outgoing_send
(
const
EtsiTs102941TypesEnrolment
::
InnerEcRequest
&
send_par
);
void
outgoing_send
(
const
EtsiTs102941TypesEnrolment
::
InnerEcResponse
&
send_par
);
};
}
/* end of namespace */
...
...
ccsrc/Protocols/Pki/pki_layer.cc
0 → 100644
View file @
aa041aaa
#include
"pki_layer_factory.hh"
#include
"codec_stack_builder.hh"
#include
"loggers.hh"
#include
"converter.hh"
using
namespace
std
;
// Required for isnan()
#include
"LibItsPki_TestSystem.hh"
pki_layer
::
pki_layer
(
const
std
::
string
&
p_type
,
const
std
::
string
&
param
)
:
t_layer
<
LibItsPki__TestSystem
::
HttpPort
>
(
p_type
),
_params
(),
_etsi_ts102941_types_enrolment_inner_request
(),
_etsi_ts102941_types_enrolment_inner_request
(),
_codec
()
{
loggers
::
get_instance
().
log
(
">>> pki_layer::pki_layer: %s, %s"
,
to_string
().
c_str
(),
param
.
c_str
());
// Setup parameters
params
::
convert
(
_params
,
param
);
// Sanity checks
params
::
const_iterator
it
=
_params
.
find
(
params
::
certificate
);
if
(
it
==
_params
.
cend
())
{
_params
[
params
::
certificate
]
=
"CERT_TS_A_EA"
;
}
it
=
_params
.
find
(
params
::
peer_certificate
);
if
(
it
==
_params
.
cend
())
{
_params
[
params
::
certificate
]
=
"CERT_IUT_A_EA"
;
}
_params
[
params
::
its_aid
]
=
"0"
;
_params
[
params
::
payload_type
]
=
""
;
_params
[
params
::
encrypted_mode
]
=
"1"
;
}
void
pki_layer
::
sendMsg
(
const
EtsiTs102941TypesEnrolment
::
InnerEcRequest
&
p_inner_ec_request
,
params
&
p_param
)
{
loggers
::
get_instance
().
log_msg
(
">>> pki_layer::sendMsg: "
,
p_pki_message
);
OCTETSTRING
data
;
_etsi_ts102941_types_enrolment_inner_request
.
encode
(
p_pki_message
,
data
);
// Add security
OCTETSTRING
secured_data
;
if
(
secured_payload
(
data
,
secured_data
)
==
0
)
{
send_data
(
data
,
_params
);
}
}
void
pki_layer
::
sendMsg
(
const
EtsiTs102941TypesEnrolment
::
InnerEcResponse
&
p_inner_ec_request
,
params
&
p_param
)
{
loggers
::
get_instance
().
log_msg
(
">>> pki_layer::sendMsg: "
,
p_pki_message
);
OCTETSTRING
data
;
_etsi_ts102941_types_enrolment_inner_response
.
encode
(
p_pki_message
,
data
);
// Add security
OCTETSTRING
secured_data
;
if
(
secured_payload
(
data
,
secured_data
)
==
0
)
{
send_data
(
data
,
_params
);
}
}
void
pki_layer
::
send_data
(
OCTETSTRING
&
data
,
params
&
params
)
{
loggers
::
get_instance
().
log_msg
(
">>> pki_layer::send_data: "
,
data
);
send_to_all_layers
(
data
,
params
);
}
void
pki_layer
::
receive_data
(
OCTETSTRING
&
data
,
params
&
params
)
{
loggers
::
get_instance
().
log_msg
(
">>> pki_layer::receive_data: "
,
data
);
// Decode HTTP message
LibItsPki__TypesAndValues
::
HttpMessage
pki_message
;
if
(
_codec
.
decode
(
data
,
pki_message
)
==
-
1
)
{
loggers
::
get_instance
().
warning
(
"pki_layer::receive_data: Failed to decode data"
);
return
;
}
// Pass it to the ports
to_all_upper_ports
(
pki_message
,
params
);