Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/**
* @author ETSI / STF544
* @version $URL$
* $Id$
* @desc Module containing functions for ITS PKI ATS
* @copyright ETSI Copyright Notification
* No part may be reproduced except as authorized by written permission.
* The copyright and the foregoing restriction extend to reproduction in all media.
* All rights reserved.
*
*/
module ItsPki_Functions {
// LibCommon
import from LibCommon_BasicTypesAndValues all;
import from LibCommon_Time all;
// LibIts
import from IEEE1609dot2BaseTypes language "ASN.1:1997" all;
import from IEEE1609dot2 language "ASN.1:1997" all;
import from EtsiTs102941BaseTypes language "ASN.1:1997" all;
import from EtsiTs102941TypesEnrolment language "ASN.1:1997" all;
import from EtsiTs102941MessagesItss language "ASN.1:1997" all;
import from EtsiTs103097Module language "ASN.1:1997" all;
// LibItsCommon
import from LibItsCommon_TestSystem all;
import from LibItsCommon_Functions all;
import from LibItsCommon_ASN1_NamedNumbers all;
// LibItsDenm
import from LibItsDenm_Templates all;
import from LibItsDenm_Functions all;
import from LibItsDenm_TestSystem all;
// LibItsCam
import from LibItsCam_Templates all;
import from LibItsCam_Functions all;
import from LibItsCam_TestSystem all;
// LibItsGeoNetworking
import from LibItsGeoNetworking_TestSystem all;
import from LibItsGeoNetworking_Functions all;
import from LibItsGeoNetworking_Templates all;
import from LibItsGeoNetworking_TypesAndValues all;
// LibItsSecurity
import from LibItsSecurity_TypesAndValues all;
import from LibItsSecurity_Templates all;
import from LibItsSecurity_Functions all;
function f_prepareEnrollmentRequest(
in charstring p_configId,
in template (value) InnerEcRequest p_innerEcRequest
) runs on ItsGeoNetworking return GeoNetworkingPdu {
// Local variables
var GnNonSecuredPacket v_gnNonSecuredPacket;
var octetstring v_gnPayload;
var LongPosVector v_longPosVectorNodeB := f_getPosition(c_compNodeB); // Use NodeB
var template (value) Ieee1609Dot2Data v_securedMessage := {};
// Encode the unsecured payload
v_encMsg := bit2oct(encvalue(valueof(p_innerEcRequest)));
//f_buildGnSecuredOtherMessage(v_securedMessage,
v_gnPayload := bit2oct(encvalue(valueof(p_innerEcRequest)));
// Build signed Ieee1609Dot2Data
v_gnNonSecuredPacket := valueof(
v_longPosVectorNodeB,
f_getIutShortPosVector(),
vc_localSeqNumber,
c_defaultHopLimit,
m_trafficClass,
v_gnPayload
));
// Encode it
v_gnPayload := bit2oct(
encvalue(
v_gnNonSecuredPacket
)
);
/*f_buildGnSecuredOtherMessage(
v_securedMessage,
m_payload_signed(v_gnPayload),
p_issuerIdentifier,
valueof(m_threeDLocation(
v_longPosVectorNodeB.latitude,
v_longPosVectorNodeB.longitude,
0
)),
p_headerFields,
p_configId,
p_addMissingHeaders
);*/
// Return secured Gn packet
return valueof(m_geoNwSecPdu(v_gnNonSecuredPacket, v_securedMessage));
}
} // End of module ItsPki_Functions