Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TTCN-3 Libraries
LibIts
Commits
077f7a79
Commit
077f7a79
authored
Mar 17, 2016
by
garciay
Browse files
STF507 week#11: Add testing functions to validate ITS Security ATS against itself
parent
62485491
Changes
1
Hide whitespace changes
Inline
Side-by-side
ttcn/GeoNetworking/LibItsGeoNetworking_Functions.ttcn
View file @
077f7a79
...
...
@@ -2553,8 +2553,9 @@ module LibItsGeoNetworking_Functions {
* @desc Wait for GN message with security containing digest as a signer info
* @return the digest of the certificate been used to sign received message
*/
function
f_waitForDigest
(
out
HashedId8
p_digest
)
runs
on
ItsGeoNetworking
return
boolean
{
function
f_waitForDigest
(
out
HashedId8
p_digest
)
runs
on
ItsGeoNetworking
return
boolean
{
// Local variables
var
SecuredMessage
v_recv
;
var
boolean
v_ret
:=
false
;
...
...
@@ -2572,16 +2573,45 @@ module LibItsGeoNetworking_Functions {
return
v_ret
;
}
// End of function f_waitForDigest
/**
* @desc Send a CAM message with a certificate and wait the certificate chain request message
* @remark This function is used only for testing against another ATS
* @param p_certificate The certificate identifier
* @param p_CamPayload The CAM paylaod
* @return true on success, flase otherwise
*/
function
f_sendCertificateAndWaitForCertificateChainRequest
(
in
charstring
p_certificate
,
in
template
(
value
)
octetstring
p_CamPayload
)
runs
on
ItsGeoNetworking
return
boolean
{
// Local variables
var
SecuredMessage
v_recv
;
f_sendCertificate
(
p_certificate
,
p_CamPayload
);
alt
{
[]
a_securedMessage
(
mdw_securedMessage
(
superset
(
mw_header_field_unrecognised_certificate
)),
v_recv
)
{
// Nothing to do
log
(
"*** "
&
testcasename
()
&
": DEBUG: Receive certificate ***"
)
}
}
// End of 'alt' statement
return
true
;
}
// End of function f_sendCertificateAndWaitForCertificateChainRequest
}
// End of group waitingHelpers
group
CertRequests
{
function
f_sendCertificateRequest
(
in
template
(
value
)
HashedId8
p_digest
,
in
template
(
value
)
octetstring
p_payload
)
runs
on
ItsGeoNetworking
{
function
f_sendCertificateRequest
(
in
template
(
value
)
HashedId8
p_digest
,
in
template
(
value
)
octetstring
p_payload
)
runs
on
ItsGeoNetworking
{
var
GeoNetworkingReq
v_gnReq
;
var
GnNonSecuredPacket
v_gnNonSecuredPacket
;
var
template
(
value
)
ToBeSignedSecuredMessage
v_toBeSignedSecuredMessage
;
...
...
@@ -2619,6 +2649,51 @@ module LibItsGeoNetworking_Functions {
}
// End of function f_sendCertificateRequest
/**
* @desc Send a CAM message with a certificate
* @remark This function is used only for testing against another ATS
* @param p_certificate The certificate identifier
* @param p_CamPayload The CAM paylaod
* @return true on success, flase otherwise
* @see f_sendCertificateAndWaitForCertificateChainRequest
*/
function
f_sendCertificate
(
in
charstring
p_certificate
,
in
template
(
value
)
octetstring
p_payload
)
runs
on
ItsGeoNetworking
{
var
GeoNetworkingReq
v_gnReq
;
var
GnNonSecuredPacket
v_gnNonSecuredPacket
;
var
template
(
value
)
ToBeSignedSecuredMessage
v_toBeSignedSecuredMessage
;
var
template
(
value
)
SecuredMessage
v_securedMessage
;
// Build signed SecuredMessage
v_gnNonSecuredPacket
:=
valueof
(
m_geoNwShbPacket
(
f_getPosition
(
c_compNodeC
)
// FIXME To be verified YANN
));
// Add CAM payload
v_gnNonSecuredPacket
.
payload
:=
valueof
(
f_adaptPayload_m
(
p_payload
));
f_buildGnSecuredCam
(
v_securedMessage
,
m_payload_signed
(
bit2oct
(
encvalue
(
v_gnNonSecuredPacket
))),
e_certificate
,
-
,
p_certificate
);
// Build secured Gn packet
v_gnReq
:=
valueof
(
m_geoNwReq_linkLayerBroadcast
(
m_geoNwSecPdu
(
v_gnNonSecuredPacket
,
v_securedMessage
)
// End of template m_geoNwSecPdu
));
// End of template m_geoNwReq_linkLayerBroadcast
// Send Message
f_sendGeoNetMessage
(
v_gnReq
);
}
// End of function f_sendCertificate
}
// End of group CertRequests
group
messageGetters
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment