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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/**
* @author ETSI / STF481
* @version $URL$
* $Id$
* @desc Module containing types and values for Security Protocol
*
*/
module LibItsSecurity_TypesAndValues {
// LibCommon
import from LibCommon_BasicTypesAndValues {
type
UInt8
};
// LibIts
import from CAM_PDU_Descriptions language "ASN.1:1997" {
type CAM
};
import from DENM_PDU_Descriptions language "ASN.1:1997" {
type DENM
};
/**
* @desc Generic secured message description
* @member protocol_version The applied protocol version
* @member security_profile The security profile for this secured message
* @member header_fields Multiple information fields of interest to the security layer
* @member payload_fields The message's payload
* @member trailer_fields Security information after the payload
*
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.1 SecuredMessage
*/
type record SecuredMessage {
UInt8 protocol_version,
UInt8 security_profile,
HeaderFields header_fields,
Payload payload_fields,
TrailerFields trailer_fields
}
type set of HeaderField HeaderFields;
type record HeaderField {
}
/**
* @desc Payload structure
* @member type_ Payload type
* @member payload Payload data
*
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.2 Payload
*/
type record Payload {
PayloadType type_,
PayloadContainer payload
}
/**
* @desc Payload data container
* @member camPayload CAM message
* @member denmPayload DENM message
* @member rawPayload Other message
*
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.2 Payload
*/
type union PayloadContainer {
CAM camPayload,
DENM denmPayload,
octetstring rawPayload
}
/**
* @desc Supported types of payloads
*
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.3 Payload
*/
type enumerated PayloadType {
e_unsecured (0),
e_signed (1),
e_encrypted (2),
e_signed_external (3),
e_signed_and_encrypted (4),
e_unknown (255)
} with { variant "unsigned 8 bit" }
type set of TrailerField TrailerFields;
type record TrailerField {
}
} with {
encode "LibItsSecurity"
} // End of module LibItsSecurity_TypesAndValues