Newer
Older
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
message_type := p_message_type
}
} // End of template m_header_field_message_type
/**
* @desc GSend template for HeaderField with signer information
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.4 HeaderField
*/
template (value) HeaderField m_header_field_signer_info(
in template (value) SignerInfo p_signer
) := {
type_ := e_signer_info,
headerField := {
signer := p_signer
}
} // End of template m_header_field_signerInfo_signer_info
/**
* @desc Send template for HeaderField with signer information
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.4 HeaderField
*/
template (value) HeaderField m_header_field_recipient(
in template (value) RecipientInfo p_recipient
) := {
type_ := e_recipient_info,
headerField := {
recipients := { p_recipient }
}
} // End of template m_header_field_recipient
/**
* @desc Send template for HeaderField with signer information
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.4 HeaderField
*/
template (value) HeaderField m_header_field_multiple_recipients(
in template (value) RecipientInfos p_recipients
) := {
type_ := e_recipient_info,
headerField := {
recipients := p_recipients
}
} // End of template m_header_field_multiple_recipients
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
/**
* @desc Send template for HeaderField with signer information
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.4 HeaderField
*/
template (value) HeaderField m_header_field_enc_params(
in template (value) EncryptionParameters p_enc_params
) := {
type_ := e_encryption_parameters,
headerField := {
enc_params := p_enc_params
}
} // End of template m_header_field_enc_params
} // End of group headerFieldsSend
group headerFieldsRecv {
/**
* @desc Receive template for HeaderField with generation time information
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.4 HeaderField
*/
template (present) HeaderField mw_header_field_generation_time(
in template (present) Time64 p_generation_time
) := {
type_ := e_generation_time,
headerField := {
generation_time := p_generation_time
}
} // End of template mw_header_field_generation_time
/**
* @desc Receive template for HeaderField with generation time and standard deviation information
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.4 HeaderField
*/
template (present) HeaderField mw_header_field_generation_time_with_standard_deviation(
in template (present) Time64WithStandardDeviation p_generation_time_with_standard_deviation
) := {
type_ := e_generation_time_standard_deviation,
headerField := {
generation_time_with_standard_deviation := p_generation_time_with_standard_deviation
}
} // End of template mw_header_field_generation_time_with_standard_deviation
/**
* @desc Receive template for HeaderField with expiration time information
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.4 HeaderField
*/
template (present) HeaderField mw_header_field_expiry_time(
in template (present) Time32 p_expiry_time
) := {
type_ := e_expiration,
headerField := {
expiry_time := p_expiry_time
}
} // End of template mw_header_field_expiry_time
/**
* @desc Receive template for HeaderField with generation location information
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.4 HeaderField
*/
template (present) HeaderField mw_header_field_generation_location(
in template (present) ThreeDLocation p_generation_location
) := {
type_ := e_generation_location,
headerField := {
generation_location := p_generation_location
}
} // End of template mw_header_field_generation_location
/**
* @desc Receive template for HeaderField with generation location information
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.4 HeaderField
*/
template (present) HeaderField mw_header_field_multiple_digests(
in template (present) HashedId3s p_digests
) := {
type_ := e_request_unrecognized_certificate,
headerField := {
digests := p_digests
}
} // End of template mw_header_field_multiple_digests
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
/**
* @desc Receive template for HeaderField with generation location information
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.4 HeaderField
*/
template (present) HeaderField mw_header_field_message_type(
in template (present) UInt16 p_message_type
) := {
type_ := e_message_type,
headerField := {
message_type := p_message_type
}
} // End of template mw_header_field_message_type
/**
* @desc Receive template for HeaderField with signer information
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.4 HeaderField
*/
template (present) HeaderField mw_header_field_signer_info(
in template (present) SignerInfo p_signer
) := {
type_ := e_signer_info,
headerField := {
signer := p_signer
}
} // End of template mw_header_field_signerInfo_signer_info
/**
* @desc Receive template for HeaderField with signer information
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.4 HeaderField
*/
template (value) HeaderField mw_header_field_multiple_recipients(
in template (value) RecipientInfos p_recipients
) := {
type_ := e_recipient_info,
headerField := {
recipients := p_recipients
} // End of template mw_header_field_multiple_recipients
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
/**
* @desc Receive template for HeaderField with signer information
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.4 HeaderField
*/
template (present) HeaderField mw_header_field_enc_params(
in template (present) EncryptionParameters p_enc_params
) := {
type_ := e_encryption_parameters,
headerField := {
enc_params := p_enc_params
}
} // End of template mw_header_field_enc_params
} // End of group headerFieldsRecv
} // End of group headerFields
group trailerFields {
template (value) TrailerField m_trailer_field_signature(
in template (value) Signature p_signature
) := {
type_ := e_signature,
trailerField := {
signature_ := p_signature
}
} // End of template m_trailer_field_dummy
} // End of group trailerFields
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
group recipientInfo {
template (value) RecipientInfo m_recipientInfo_ecies_enc_key(
in template (value) HashedId8 p_cert_id,
in template (value) PublicKeyAlgorithm p_pk_encryption,
in template (value) EciesEncryptedKey p_enc_key
) := {
cert_id := p_cert_id,
pk_encryption := p_pk_encryption,
enc_key := {
enc_key := p_enc_key
} // End of field enc_key
} // End of template m_recipientInfo_ecies_enc_key
template (value) RecipientInfo m_recipientInfo_other_enc_key(
in template (value) HashedId8 p_cert_id,
in template (value) PublicKeyAlgorithm p_pk_encryption,
in template (value) octetstring p_enc_key_other
) := {
cert_id := p_cert_id,
pk_encryption := p_pk_encryption,
enc_key := {
enc_key_other := p_enc_key_other
} // End of field enc_key
} // End of template m_recipientInfo_other_enc_key
} // End of group recipientInfo
group eciesEncryptedKey {
group eciesEncryptedKeySend {
/**
* @desc Send template for an ECIES-encrypted symmetric key as defined in IEEE Std 1363a 2004
* @param p_encrypted_key The encrypted (AES) key
* @param p_authentication_tag The authentication tag vector
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.9 EciesEncryptedKey
*/
template (value) EciesEncryptedKey m_eciesEncryptedKey_aesccm(
in template (value) EccPoint p_ecc_key,
in template (value) octetstring p_encrypted_key,
in template (value) Oct20 p_authentication_tag
) := {
symm_alg := e_aes_128_ccm,
symm_key_len := f_int2UInt32(1 + lengthof(p_encrypted_key)),
v := p_ecc_key,
c := p_encrypted_key,
t := p_authentication_tag
} // End of template m_eciesEncryptedKey_aesccm
} // End of group eciesEncryptedKeySend
} // End of group eciesEncryptedKey
} // End of group messages
* @desc Dummy send/receive templates for certificates
* @see Draft ETSI TS 103 097 V1.1.6 Clause 6 Specification of certificate format
*/
group dummyCertifices {
/**
* @desc Dummy send templates for certificates
* @see Draft ETSI TS 103 097 V1.1.6 Clause 6 Specification of certificate format
*/
group dummyCertificesSend {
/**
* @desc Dummy send certificate template
* @see Draft ETSI TS 103 097 V1.1.6 Clause 6.1 Certificate
*/
template (value) Certificate m_certificate_dummy := {
version := c_certificate_version,
subject_info := m_subject_info_dummy,
subject_attributes := { m_subject_attribute_dummy },
validity_restrictions := { m_validity_restriction_dummy },
signature_ :=
m_signature(
m_ecdsaSignature(
m_eccPoint_dummy
)
} // End of template m_certificate_dummy
template (value) SubjectInfo m_subject_info_dummy := {
subject_type := e_root_ca,
subject_name := ''O
} // End of template SubjectInfo
template (value) SubjectAttribute m_subject_attribute_dummy := {
type_ := e_verification_key,
attribute := {
key := m_publicKey_eccPoint_dummy
}
} // End of template m_subject_attribute_dummy
template (value) ValidityRestriction m_validity_restriction_dummy := {
type_ := e_time_end,
validity := {
end_validity := 0
}
} // End of template m_validity_dummy
} // End of group dummyCertificesSend
/**
* @desc Dummy receive templates for certificates
* @see Draft ETSI TS 103 097 V1.1.6 Clause 6 Specification of certificate format
*/
group dummyCertificesRecv {
/**
* @desc Dummy receive certificate template
* @see Draft ETSI TS 103 097 V1.1.6 Clause 6.1 Certificate
*/
template (present) Certificate mw_certificate_dummy := {
version := c_certificate_version,
signer_info := ?,
subject_info := ?,
subject_attributes := ?,
validity_restrictions := ?,
signature_ := ?
} // End of template mw_certificate_dummy
} // End of group dummyCertificesRecv
} // End of group dummyCertifices
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
/**
* @desc Send/receive templates for certificates
* @see Draft ETSI TS 103 097 V1.1.6 Clause 6 Specification of certificate format
*/
group certifices {
/**
* @desc Send templates for certificates
* @see Draft ETSI TS 103 097 V1.1.6 Clause 6 Specification of certificate format
*/
group certificesSend {
} // End of group certificesSend
/**
* @desc Receive templates for certificates
* @see Draft ETSI TS 103 097 V1.1.6 Clause 6 Specification of certificate format
*/
group certificesRecv {
} // End of group certificesRecv
} // End of group dummyCertifices
/**
*/
group securityProfilesCAMs {
/**
*/
group securityProfilesCAMsSend {
/**
* @desc Generic send template for Security profile for CAMs with a single payload
*/
template (value) SecuredMessage md_secureMessageCAMs(
in template (value) HeaderFields p_header_fields,
in template (value) Payload p_payload_fields,
in template (value) TrailerFields p_trailer_fields
) modifies m_secureMessageCAMs_dummy := {
security_profile := c_security_profileCAMs,
header_fields := p_header_fields,
payload_fields := { p_payload_fields },
trailer_fields := p_trailer_fields
} // End of template md_secureMessageCAMs
/**
* @desc Generic send template for Security profile for CAMs with several payloads
*/
template (value) SecuredMessage md_secureMessageCAMs_multiple_payloads(
in template (value) HeaderFields p_header_fields,
in template (value) Payloads p_payload_fields,
in template (value) TrailerFields p_trailer_fields
) modifies m_secureMessageCAMs_dummy := {
security_profile := c_security_profileCAMs,
header_fields := p_header_fields,
payload_fields := p_payload_fields,
trailer_fields := p_trailer_fields
} // End of template md_secureMessageCAMs
} // End of group securityProfilesCAMsSend
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
group securityProfilesCAMsRecv {
/**
* @desc Generic received template for Security profile for CAMs
*/
template (present) SecuredMessage mdw_secureMessageCAMs_dummy
modifies mw_securedMessage_dummy := {
security_profile := c_security_profileCAMs
} // End of template mw_securedMessage_dummy
/**
* @desc Generic received template for Security profile for CAMs
*/
template (present) SecuredMessage mdw_secureMessageCAMs
modifies mdw_secureMessageCAMs_dummy := { // TODO To be continued
header_fields := ?,
payload_fields := ?,
trailer_fields := ?
} // End of template mw_securedMessage_dummy
} // End of group mdw_secureMessageCAMs_dummy
} // End of group securityProfilesCAMs
group denmSecurityProfiles {
} // End of group denmSecurityProfiles
group otherSecurityProfiles {
} // End of group otherSecurityProfiles
} // End of group securityProfiles
group utPrimitives {
} // End of group utPrimitives
/**
* @desc Function helpers for static_cast<> operation (to reduce warning in TTWB)
*/
group typeConverters {
/**
* @desc Convert integer into UInt8
*/
function f_int2UInt8(in integer p_value) return UInt8 {
return p_value;
}
/**
* @desc Convert integer into UInt32
*/
function f_int2UInt32(in integer p_value) return UInt32 {
return p_value;
}