diff --git a/EtsiTs103097ExtensionModule.asn b/EtsiTs103097ExtensionModule.asn new file mode 100644 index 0000000000000000000000000000000000000000..d5d6b8bad2c7f55a097f57d12c38cc58ce51eca1 --- /dev/null +++ b/EtsiTs103097ExtensionModule.asn @@ -0,0 +1,50 @@ +EtsiTs103097ExtensionModule +{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) secHeaders(103097) extension(2) version1(1)} +DEFINITIONS AUTOMATIC TAGS ::= BEGIN + +IMPORTS + HashedId8, + Time32 +FROM IEEE1609dot2BaseTypes {iso(1) identified-organization(3) ieee(111) + standards-association-numbered-series-standards(2) wave-stds(1609) + dot2(2) base(1) base-types(2) major-version-2 (2)}; + +ExtensionModuleVersion::= INTEGER(1) + +Extension {EXT-TYPE : ExtensionTypes} ::= SEQUENCE { + id EXT-TYPE.&extId({ExtensionTypes}), + content EXT-TYPE.&ExtContent({ExtensionTypes}{@.id}) +} + +EXT-TYPE ::= CLASS { + &extId ExtId, + &ExtContent +} WITH SYNTAX {&ExtContent IDENTIFIED BY &extId} + +ExtId ::= INTEGER(0..255) + +EtsiOriginatingHeaderInfoExtension ::= Extension{{EtsiTs103097HeaderInfoExtensions}} + +EtsiTs103097HeaderInfoExtensionId ::= ExtId + etsiTs102941CrlRequestId EtsiTs103097HeaderInfoExtensionId ::= 1 --'01'H + etsiTs102941DeltaCtlRequestId EtsiTs103097HeaderInfoExtensionId ::= 2 --'02'H + +EtsiTs103097HeaderInfoExtensions EXT-TYPE ::= { + { EtsiTs102941CrlRequest IDENTIFIED BY etsiTs102941CrlRequestId } | + { EtsiTs102941DeltaCtlRequest IDENTIFIED BY etsiTs102941DeltaCtlRequestId }, + ... +} + +EtsiTs102941CrlRequest::= SEQUENCE { + issuerId HashedId8, + lastKnownUpdate Time32 OPTIONAL + } + +EtsiTs102941CtlRequest::= SEQUENCE { + issuerId HashedId8, + lastKnownCtlSequence INTEGER (0..255) OPTIONAL + } + +EtsiTs102941DeltaCtlRequest::= EtsiTs102941CtlRequest + +END diff --git a/EtsiTs103097Module.asn b/EtsiTs103097Module.asn old mode 100755 new mode 100644 index 164d085e2269a86bf9c4811b0a90ca6641836592..36ead12fd32b14162af959f68d1485eba5816c77 --- a/EtsiTs103097Module.asn +++ b/EtsiTs103097Module.asn @@ -1,17 +1,19 @@ EtsiTs103097Module -{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(103097) v1(0) } +{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) secHeaders(103097) core(1) version2(2)} DEFINITIONS AUTOMATIC TAGS ::= BEGIN IMPORTS Ieee1609Dot2Data, ExplicitCertificate - -FROM - -IEEE1609dot2 {iso(1) identified-organization(3) ieee(111) +FROM IEEE1609dot2 {iso(1) identified-organization(3) ieee(111) standards-association-numbered-series-standards(2) wave-stds(1609) -dot2(2) base (1) schema (1) major-version-2(2)}; +dot2(2) base(1) schema(1) major-version-2(2) minor-version-3(3)} +WITH SUCCESSORS + +ExtensionModuleVersion +FROM EtsiTs103097ExtensionModule {itu-t(0) identified-organization(4) +etsi(0) itsDomain(5) wg5(5) secHeaders(103097) extension(2) version1(1)}; EtsiTs103097Certificate::= ExplicitCertificate (WITH COMPONENTS{..., toBeSigned (WITH COMPONENTS{..., @@ -24,11 +26,6 @@ EtsiTs103097Certificate::= ExplicitCertificate (WITH COMPONENTS{..., }) }) -SingleEtsiTs103097Certificate ::= SEQUENCE { - only EtsiTs103097Certificate -} - - EtsiTs103097Data::=Ieee1609Dot2Data (WITH COMPONENTS {..., content (WITH COMPONENTS {..., signedData (WITH COMPONENTS {..., -- constraints on signed data headers @@ -40,12 +37,13 @@ EtsiTs103097Data::=Ieee1609Dot2Data (WITH COMPONENTS {..., }) }), signer (WITH COMPONENTS {..., --constraints on the certificate - certificate (WITH COMPONENT (SingleEtsiTs103097Certificate)) + certificate ((WITH COMPONENT (EtsiTs103097Certificate))^(SIZE(1))) }) }), encryptedData (WITH COMPONENTS {..., -- constraints on encrypted data headers recipients (WITH COMPONENT ( (WITH COMPONENTS {..., + pskRecipInfo ABSENT, symmRecipInfo ABSENT, rekRecipInfo ABSENT }) @@ -55,6 +53,12 @@ EtsiTs103097Data::=Ieee1609Dot2Data (WITH COMPONENTS {..., }) }) +EtsiTs103097Data-Unsecured {ToBeSentDataContent} ::= EtsiTs103097Data (WITH COMPONENTS {..., + content (WITH COMPONENTS { + unsecuredData (CONTAINING ToBeSentDataContent) + }) +}) + EtsiTs103097Data-Signed {ToBeSignedDataContent} ::= EtsiTs103097Data (WITH COMPONENTS {..., content (WITH COMPONENTS { signedData (WITH COMPONENTS {..., @@ -99,4 +103,20 @@ EtsiTs103097Data-Encrypted {ToBeEncryptedDataContent} ::= EtsiTs103097Data (WITH EtsiTs103097Data-SignedAndEncrypted {ToBesignedAndEncryptedDataContent} ::= EtsiTs103097Data-Encrypted {EtsiTs103097Data-Signed {ToBesignedAndEncryptedDataContent}} +EtsiTs103097Data-Encrypted-Unicast {ToBeEncryptedDataContent} ::= EtsiTs103097Data-Encrypted { EtsiTs103097Data-Unsecured{ToBeEncryptedDataContent}} (WITH COMPONENTS {..., + content (WITH COMPONENTS { + encryptedData (WITH COMPONENTS {..., + recipients (SIZE(1)) + }) + }) +}) + +EtsiTs103097Data-SignedAndEncrypted-Unicast {ToBesignedAndEncryptedDataContent} ::= EtsiTs103097Data-Encrypted {EtsiTs103097Data-Signed {ToBesignedAndEncryptedDataContent}} (WITH COMPONENTS {..., + content (WITH COMPONENTS { + encryptedData (WITH COMPONENTS {..., + recipients (SIZE(1)) + }) + }) +}) + END diff --git a/LICENSE b/LICENSE old mode 100755 new mode 100644 index 4436d6da4c55a84b9f62a8002984f854ba472fa6..28bd92249b666d027ab29f1257796a9a7376143f --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright 2019 ETSI +Copyright 2020 ETSI Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/README.md b/README.md index 4eb4fdaac291ad8faf4be64a90eb9d382ebe2afe..189831e4bc3febb4223445c7c38c9f8436b803bf 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# ASN.1 module for ETSI TS 103 097 v1.3.1 +# ASN.1 module for ETSI TS 103 097 v1.4.1 -The module was published as a part of delivery **[ETSI TS 103 097 v1.3.1](http://www.etsi.org/deliver/etsi_ts/103000_103099/103097/01.03.01_60/ts_103097v010301p.pdf)** (2017-10) +The module was published as a part of delivery **[ETSI TS 103 097 v1.4.1](http://www.etsi.org/deliver/etsi_ts/103000_103099/103097/01.04.01_60/ts_103097v010401p.pdf)** ## License @@ -12,6 +12,6 @@ See the attached LICENSE file or visit https://forge.etsi.org/legal-matters. The module dependens of the following external modules and repositories: -* The **[IEEE1609dot2](https://forge.etsi.org/rep/ITS/asn1/ieee1609.2)** module from the **IEEE Std 1609.2 2016a** - WAVE - Security Services for Applications and Management Messages +* The **[IEEE1609dot2](https://forge.etsi.org/rep/ITS/asn1/ieee1609.2/tree/WI-00557)** module from the **IEEE Std 1609.2** - WAVE - Security Services for Applications and Management Messages *NOTE: Please use `--recurse-submodules` option in order to clone the module with all necessary dependencies.* diff --git a/ieee1609dot2 b/ieee1609dot2 index 70c10e7bb032794fa5168c009be8b865179fc883..54eba2d4c2d2bac07e8e5f3376e5f1ac558ca3f1 160000 --- a/ieee1609dot2 +++ b/ieee1609dot2 @@ -1 +1 @@ -Subproject commit 70c10e7bb032794fa5168c009be8b865179fc883 +Subproject commit 54eba2d4c2d2bac07e8e5f3376e5f1ac558ca3f1