Newer
Older
* @desc Send template for HeaderField with generation location information
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.4 HeaderField
*/
template (value) HeaderField m_header_field_message_type(
in template (value) UInt16 p_message_type
) := {
type_ := e_message_type,
headerField := {
message_type := p_message_type
}
} // End of template m_header_field_message_type
/**
garciay
committed
* @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_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
/**
* @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
/**
* @desc Receive templates for HeaderField
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.4 HeaderField
*/
/**
* @desc Receive template for HeaderField with generation time information
* @param p_headerType Type id of the Header field
*/
template (present) HeaderField mw_header_field_any(HeaderFieldType p_headerType) := {
type_ := p_headerType,
headerField := ?
} // End of template mw_header_field_generation_time
/**
* @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 := ?
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
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
) := {
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
* @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,
signer := p_signer
} // End of template mw_header_field_signerInfo_signer_info
/**
* @desc Receive template for HeaderField with signer information
* containing certificate
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.4 HeaderField
*/
template (present) HeaderField mw_header_field_signer_info_certificate (
template (present) Certificate p_cert := ?
) := {
type_ := e_signer_info,
headerField := {
signer := mw_signerInfo_certificate(p_cert)
} // End of template mw_header_field_signer_info_certificate
/**
* @desc Receive template for HeaderField with signer information
* containing certificate digest
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.4 HeaderField
*/
template (present) HeaderField mw_header_field_signer_info_digest (
template (present) HashedId8 p_digest := ?
) := {
type_ := e_signer_info,
headerField := {
signer := mw_signerInfo_digest(p_digest)
}
} // End of template mw_header_field_signer_info_digest
/**
* @desc Receive template for HeaderField with signer information
* containing certificate chain
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.4 HeaderField
*/
template (present) HeaderField mw_header_field_signer_info_certificate_chain (
template (present) CertificateChain p_certs := ?
) := {
type_ := e_signer_info,
headerField := {
signer := mw_signerInfo_certificates(p_certs)
}
} // End of template mw_header_field_signer_info_certificate_chain
/**
* @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
/**
* @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
/**
* @desc Receive template for HeaderField with message type
* @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 request for unrecognized certificate
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.4 HeaderField
*/
template (present) HeaderField mw_header_field_request_unrecognized_certificate (
template (present) HashedId3s p_digests := ?
) := {
type_ := e_request_unrecognized_certificate,
headerField := {
digests := p_digests
}
} // End of template mw_header_field_signer_info_digest
} // End of group headerFieldsRecv
} // End of group headerFields
/**
* @desc Send/Receive templates for TrailerField
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.6 TrailerField
*/
/**
* @desc Send template containing signature information used by the security layer after processing the payload
* @param p_signature The signature information
*/
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
/**
* @desc Receive template containing signature information used by the security layer after processing the payload
* @param p_signature The signature information
*/
template (present) TrailerField mw_trailer_field_signature(
in template (present) Signature p_signature
) := {
type_ := e_signature,
trailerField := {
signature_ := ?
}
} // End of template mw_trailer_field_dummy
} // End of group trailerFields
/**
* @desc Send/Receive templates for RecipientInfo
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.8 RecipientInfo
*/
group recipientInfo {
/**
* @desc Send template containing information for a message's recipient
* @param p_cert_id The recipient's certificate identifier
* @param p_pk_encryption The encryption type
* @param p_enc_key The encrypted key contained in an EciesEncryptedKey structure
*/
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
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
/**
* @desc Receive template containing information for a message's recipient
* @param p_cert_id The recipient's certificate identifier
* @param p_pk_encryption The encryption type
* @param p_enc_key The encrypted key contained in an EciesEncryptedKey structure
*/
template (present) RecipientInfo mw_recipientInfo_ecies_enc_key(
in template (present) HashedId8 p_cert_id,
in template (present) PublicKeyAlgorithm p_pk_encryption,
in template (present) 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 mw_recipientInfo_ecies_enc_key
} // End of group recipientInfo
/**
* @desc Send/Receive templates for EciesEncryptedKey
* @see Draft ETSI TS 103 097 V1.1.6 Clause 5.9 EciesEncryptedKey
*/
group eciesEncryptedKey {
/**
* @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
) := {
v := p_ecc_key,
c := p_encrypted_key,
t := p_authentication_tag
} // End of template m_eciesEncryptedKey_aesccm
/**
* @desc Receive 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 (present) EciesEncryptedKey mw_eciesEncryptedKey_aesccm(
in template (present) EccPoint p_ecc_key,
in template (present) octetstring p_encrypted_key,
in template (present) Oct20 p_authentication_tag
) := {
v := p_ecc_key,
c := p_encrypted_key,
t := p_authentication_tag
} // End of template mw_eciesEncryptedKey_aesccm
} // 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 {
} // 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,
subject_info := ?,
subject_attributes := ?,
validity_restrictions := ?,
signature_ := ?
} // End of template mw_certificate_dummy
} // End of group dummyCertificesRecv
} // End of group dummyCertifices
/**
* @desc Send/receive templates for certificates
* @see Draft ETSI TS 103 097 V1.1.6 Clause 6 Specification of certificate format
*/
/**
* @desc Send templates for certificates
* @see Draft ETSI TS 103 097 V1.1.6 Clause 6 Specification of certificate format
*/
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
group certificatesSend {
/**
* @desc Send certificate template
* @member p_signer_info List of signer information
* @member p_subject_info The subject information
* @member p_subject_attributes List of subject attribute
* @member p_validity_restrictions List of validity restriction
* @member p_signature The signature
* @see Draft ETSI TS 103 097 V1.1.6 Clause 6.1 Certificate
*/
template (value) Certificate m_certificate(
in template (value) SignerInfos p_signer_infos,
in template (value) SubjectInfo p_subject_info,
in template (value) SubjectAttributes p_subject_attributes,
in template (value) ValidityRestrictions p_validity_restrictions,
in template (value) Signature p_signature
) := {
version := c_certificate_version,
signer_infos := p_signer_infos,
subject_info := p_subject_info,
subject_attributes := p_subject_attributes,
validity_restrictions := p_validity_restrictions,
signature_ := p_signature
} // End of template m_certificate
/**
* @desc Send templates for certificates
* @see Draft ETSI TS 103 097 V1.1.6 Clause 6.2 SubjectInfo
*/
group subjectInfo {
template (value) SubjectInfo m_subject_info_root_ca(
in template (value) Oct0to31 p_subject_name
) := {
subject_type := e_root_ca,
subject_name := p_subject_name
} // End of template m_subject_info_root_ca
garciay
committed
template (value) SubjectInfo m_subject_info_authorization_authority(
in template (value) Oct0to31 p_subject_name
) := {
subject_type := e_authorization_authority,
subject_name := p_subject_name
} // End of template m_subject_info_authorization_authority
template (value) SubjectInfo m_subject_info_authorization_ticket := {
subject_type := e_authorization_ticket,
subject_name := ''O
} // End of template m_subject_info_authorization_ticket
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
template (value) SubjectInfo m_subject_info_revocation(
in template (value) Oct0to31 p_subject_name
) := {
subject_type := e_crl_signer,
subject_name := p_subject_name
} // End of template m_subject_info_revocation
} // End of group subjectInfo
group subjectAttribute {
template (value) SubjectAttribute m_subject_attribute_verification_key(
in template (value) PublicKey p_key
) := {
type_ := e_verification_key,
attribute := {
key := p_key
}
} // End of template m_subject_attribute_verification_key
template (value) SubjectAttribute m_subject_attribute_encryption_key(
) := {
type_ := e_encryption_key,
attribute := {
}
} // End of template m_subject_attribute_encryption_key
template (value) SubjectAttribute m_subject_attribute_reconstruction_value(
in template (value) EccPoint p_rv
) := {
type_ := e_reconstruction_value,
attribute := {
rv := p_rv
}
} // End of template m_subject_attribute_reconstruction_value
template (value) SubjectAttribute m_subject_attribute_assurance_level(
in template (value) SubjectAssurance p_assurance_level
) := {
type_ := e_assurance_level,
attribute := {
assurance_level := p_assurance_level
}
} // End of template m_subject_attribute_assurance_level
template (value) SubjectAttribute m_subject_attribute_its_aid_list(
in template (value) IntXs p_its_aid_list
) := {
attribute := {
its_aid_list := p_its_aid_list
}
} // End of template m_subject_attribute_its_aid_list
template (value) SubjectAttribute m_subject_attribute_its_aid_ssp_list(
in template (value) ItsAidSsps p_its_aid_ssp_list
) := {
type_ := e_its_aid_ssp_list,
attribute := {
its_aid_ssp_list := p_its_aid_ssp_list
}
} // End of template m_subject_attribute_its_aid_ssp_list
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
} // End of group subjectAttribute
group subjectAssurance {
template (value) SubjectAssurance m_subjectAssurance(
in template (value) Bit3 p_levels,
in template (value) Bit2 p_confidence
) := {
levels := p_levels,
reserved := '000'B,
confidence := p_confidence
} // End of template m_subjectAssurance
} // End of group subjectAssurance
group validityRestriction {
template (value) ValidityRestriction m_validity_restriction_time_end(
in template (value) Time32 p_end_validity
) := {
type_ := e_time_end,
validity := {
end_validity := p_end_validity
} // End of field validity
} // End of template m_validity_restriction_time_end
template (value) ValidityRestriction m_validity_restriction_time_start_and_end(
in template (value) Time32 p_start_validity,
in template (value) Time32 p_end_validity
) := {
type_ := e_time_start_and_end,
validity := {
time_start_and_end := {
start_validity := p_start_validity,
end_validity := p_end_validity
} // End of field time_start_and_end
} // End of field validity
} // End of template m_validity_restriction_time_start_and_end
template (value) ValidityRestriction m_validity_restriction_time_start_and_duration(
in template (value) Time32 p_start_validity,
in template (value) Duration p_duration
) := {
type_ := e_time_start_and_duration,
validity := {
time_start_and_duration := {
start_validity := p_start_validity,
duration := p_duration
} // End of field time_start_and_duration
} // End of field validity
} // End of template m_validity_restriction_time_start_and_duration
template (value) ValidityRestriction m_validity_restriction_region(
in template (value) GeographicRegion p_region
) := {
type_ := e_region,
validity := {
region := p_region
} // End of field validity
} // End of template m_validity_restriction_region
} // End of group validityRestriction
} // End of group certificatesSend
/**
* @desc Receive templates for certificates
* @see Draft ETSI TS 103 097 V1.1.6 Clause 6 Specification of certificate format
*/
template (present) Certificate mw_certificate(
in template (present) SignerInfo p_signer_info :=?,
in template (present) SubjectInfo p_subject_info :=?,
in template (present) SubjectAttributes p_subject_attributes :=?,
in template (present) ValidityRestrictions p_validity_restrictions :=?,
in template (present) Signature p_signature :=?
) := {
version := c_certificate_version,
signer_infos := { p_signer_info },
subject_info := p_subject_info,
subject_attributes := p_subject_attributes,
validity_restrictions := p_validity_restrictions,
signature_ := p_signature
} // End of template m_certificate
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
template (present) Certificate mw_aa_certificate(
in template (present) SignerInfo p_signer_info :=?,
in template (present) SubjectAttributes p_subject_attributes :=?,
in template (present) ValidityRestrictions p_validity_restrictions :=?,
in template (present) Signature p_signature :=?
) := {
version := c_certificate_version,
signer_infos := { p_signer_info },
subject_info := {
subject_type := e_authorization_authority,
subject_name := ?
},
subject_attributes := p_subject_attributes,
validity_restrictions := p_validity_restrictions,
signature_ := p_signature
} // End of template m_aa_certificate
template (present) Certificate mw_at_certificate(
in template (present) SignerInfo p_signer_info :=?,
in template (present) SubjectAttributes p_subject_attributes :=?,
in template (present) ValidityRestrictions p_validity_restrictions :=?,
in template (present) Signature p_signature :=?
) := {
version := c_certificate_version,
signer_infos := { p_signer_info },
subject_info := {
subject_type := e_authorization_ticket,
subject_name := ?
},
subject_attributes := p_subject_attributes,
validity_restrictions := p_validity_restrictions,
signature_ := p_signature
} // End of template m_at_certificate
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
group subjectInfo {
template (present) SubjectInfo mw_subject_info_root_ca(
in template (present) Oct0to31 p_subject_name
) := {
subject_type := e_root_ca,
subject_name := p_subject_name
} // End of template mw_subject_info_root_ca
template (present) SubjectInfo mw_subject_info_revocation(
in template (present) Oct0to31 p_subject_name
) := {
subject_type := e_crl_signer,
subject_name := p_subject_name
} // End of template mw_subject_info_revocation
} // End of group subjectInfo
group subjectAttribute {
template (present) SubjectAttribute mw_subject_attribute_verification_key(
in template (present) PublicKey p_key := ?
) := {
type_ := e_verification_key,
attribute := {
key := p_key
}
} // End of template mw_subject_attribute_verification_key
template (present) SubjectAttribute mw_subject_attribute_encryption_key(
in template (present) EccPoint p_rv := ?
attribute := {
rv := p_rv
}
} // End of template mw_subject_attribute_encryption_key
template (present) SubjectAttribute mw_subject_attribute_assurance_level(
in template (present) SubjectAssurance p_assurance_level := ?
) := {
type_ := e_assurance_level,
attribute := {
assurance_level := p_assurance_level
}
} // End of template mw_subject_attribute_assurance_level
template (present) SubjectAttribute mw_subject_attribute_reconstruction_value(
in template (present) IntXs p_its_aid_list := ?
) := {
type_ := e_reconstruction_value,
attribute := {
its_aid_list := p_its_aid_list
}
} // End of template mw_subject_attribute_reconstruction_value
template (present) SubjectAttribute mw_subject_attribute_its_aid_list(
in template (present) IntXs p_its_aid_list := ?
) := {
type_ := e_its_aid_list,
attribute := {
its_aid_list := p_its_aid_list
}
} // End of template mw_subject_attribute_its_aid_list
template (present) SubjectAttribute mw_subject_attribute_its_aid_ssp_list(
in template (present) ItsAidSsps p_its_aid_ssp_list := ?
) := {
type_ := e_its_aid_ssp_list,
attribute := {
its_aid_ssp_list := p_its_aid_ssp_list
}
} // End of template mw_subject_attribute_its_aid_ssp_list
} // End of group subjectAttribute
group subjectAssurance {
template (present) SubjectAssurance mw_subjectAssurance(
in template (present) Bit3 p_levels,
in template (present) Bit2 p_confidence
) := {
levels := p_levels,
reserved := '000'B,
confidence := p_confidence
} // End of template mw_subjectAssurance
} // End of group subjectAssurance
group validityRestriction {
template (present) ValidityRestriction mw_validity_restriction_time_end(
in template (present) Time32 p_end_validity := ?
) := {
type_ := e_time_end,
validity := {
end_validity := p_end_validity
} // End of field validity
} // End of template mw_validity_restriction_time_end
template (present) ValidityRestriction mw_validity_restriction_time_start_and_end(
in template (present) Time32 p_start_validity := ?,
in template (present) Time32 p_end_validity := ?
) := {
type_ := e_time_start_and_end,
validity := {
time_start_and_end := {
start_validity := p_start_validity,
end_validity := p_end_validity
} // End of field time_start_and_end
} // End of field validity
} // End of template mw_validity_restriction_time_start_and_end
template (present) ValidityRestriction mw_validity_restriction_time_start_and_duration(
in template (present) Time32 p_start_validity := ?,
in template (present) Duration p_duration := ?
) := {
type_ := e_time_start_and_duration,
validity := {
time_start_and_duration := {
start_validity := p_start_validity,
duration := p_duration
} // End of field time_start_and_duration
} // End of field validity
} // End of template mw_validity_restriction_time_start_and_duration
template (present) ValidityRestriction mw_validity_restriction_region(
in template (present) GeographicRegion p_region := ?
) := {
type_ := e_region,
validity := {
region := p_region
} // End of field validity
} // End of template mw_validity_restriction_region
} // End of group validityRestriction
} // End of group certificatesRecv
} // End of group certificates
/**
*/
group securityProfilesCAMsSend {
/**
* @desc Generic send template for Security profile for CAMs with several payloads
*/
template (value) SecuredMessage md_secureMessage_profileCam(
in template (value) HeaderFields p_header_fields,
in template (omit) SecPayloads p_payload_fields,
in template (value) TrailerFields p_trailer_fields
) modifies m_secureMessage := {
security_profile := c_security_profileCAMs,
header_fields := p_header_fields,
payload_fields := p_payload_fields,
trailer_fields := p_trailer_fields
} // End of template md_secureMessage_profileCam
} // End of group securityProfilesCAMsSend
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 mdw_secureMessageCAMs_dummy
/**
* @desc Generic received template for SecuredMessage
*/
template (present) SecuredMessage mdw_securedMessageCAM(
template (present) HeaderFields p_header := ?,
template (present) TrailerFields p_trailer := ?
)
modifies mw_securedMessage := {
security_profile := c_security_profileCAMs
} // End of template mdw_securedMessageCAMs
/**
* @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 mdw_secureMessageCAMs
} // End of group securityProfilesCAMsRecv
} // End of group securityProfilesCAMs
garciay
committed
group securityProfilesDENMsSend {
/**
* @desc Generic send template for Security profile for CAMs with several payloads
*/
template (value) SecuredMessage md_secureMessage_profileDenm(
garciay
committed
in template (value) HeaderFields p_header_fields,
in template (omit) SecPayloads p_payload_fields,
in template (value) TrailerFields p_trailer_fields
) modifies m_secureMessage := {
security_profile := c_security_profileDENMs,
header_fields := p_header_fields,
payload_fields := p_payload_fields,
trailer_fields := p_trailer_fields
} // End of template md_secureMessage_profileDenm
garciay
committed
} // End of group securityProfilesDENMsSend
group securityProfilesDENMsRecv {
/**
* @desc Generic received template for Security profile for DENMs
*/
template (present) SecuredMessage mdw_secureMessageDENMs_dummy
modifies mw_securedMessage_dummy := {
security_profile := c_security_profileDENMs
} // End of template mdw_secureMessageDENMs_dummy
garciay
committed
/**
* @desc Generic received template for SecuredMessage in DENM profile
*/
template (present) SecuredMessage mdw_securedMessageDENM(
template (present) HeaderFields p_header := ?,
template (present) TrailerFields p_trailer := ?
)
modifies mw_securedMessage := {
security_profile := c_security_profileDENMs
} // End of template mdw_securedMessageDENMs
garciay
committed
} // End of group securityProfilesDENMsRecv
} // End of group denmSecurityProfiles
group otherSecurityProfiles {
garciay
committed
group otherSecurityProfilesSend {
template (value) SecuredMessage md_securedMessage_profileOther(
garciay
committed
in template (value) HeaderFields p_header_fields,
in template (omit) SecPayloads p_payload_fields,
garciay
committed
in template (value) TrailerFields p_trailer_fields
garciay
committed
security_profile := c_security_profileOthers,
header_fields := p_header_fields,
payload_fields := p_payload_fields,
trailer_fields := p_trailer_fields
} // End of template md_securedMessage_profileOther
garciay
committed
} // End of group m_securedMessage_profileOther
group otherSecurityProfilesRecv {
/**
* @desc Generic received template for SecuredMessage in DENM profile
*/
template (present) SecuredMessage mdw_securedMessageOther(
template (present) HeaderFields p_header := ?,
template (present) TrailerFields p_trailer := ?
)
modifies mw_securedMessage := {
security_profile := c_security_profileOthers
} // End of template mdw_securedMessageOther
garciay
committed
} // End of group otherSecurityProfilesRecv
} // End of group otherSecurityProfiles
} // End of group securityProfiles
/**
* @desc Send/receive templates for profiles for certificates
* @see Draft ETSI TS 103 097 V1.1.6 Clause 7.4 Profiles for certificate
*/
group profileCertificates {
/**
* @desc SecuredMesage payload to be signed
* @member p_security_profile The secury profile
* @member p_header_fields The headers list
* @member p_payload_fields The payloads list
* @member p_trailer_field_type The trailer type
* @see Draft ETSI TS 103 097 V1.1.6 Clause 7 Security profiles
*/
template (value) ToBeSignedSecuredMessage m_toBeSignedSecuredMessage(
in UInt8 p_security_profile,
in template (value) HeaderFields p_header_fields,
in template (value) SecPayloads p_payload_fields,
in template (value) TrailerFieldType p_trailer_field_type
) := {
protocol_version := c_protocol_version,
security_profile := p_security_profile,
header_fields := p_header_fields,
payload_fields := p_payload_fields,
trailer_fieldsLength := 67, // 43h = lengthof(trailer_fields) // FIXME To be enhanced
trailerFieldType := p_trailer_field_type
} // End of template m_toBeSignedSecuredMessage
/**
* @desc The certificate paylaod to be signed
* @member p_certificate The signed certificate to be verified
* @see Draft ETSI TS 103 097 V1.1.6 Clause 7.4 Profiles for certificate
*/
template (value) ToBeSignedCertificate m_toBeSignedCertificate(
in template (value) Certificate p_certificate
) := {
version := p_certificate.version,