Loading .gitlab-ci.yml 0 → 100755 +19 −0 Original line number Diff line number Diff line include: - project: 'forge-tools/asn2md' file: '/gitlab-ci/base.yml' variables: ASN1_SRC: '*.asn ieee1609dot2/*.asn' validate: extends: .validate only: changes: - '*.asn' documentation: extends: .documentation only: changes: - '*.asn' .gitmodules +1 −1 Original line number Diff line number Diff line [submodule "ieee1609dot2"] path = ieee1609dot2 url = https://forge.etsi.org/rep/ITS/asn1/ieee1609.2.git branch = release2 branch = 2022 Ieee1609Dot2Crl.asndeleted 100755 → 0 +0 −57 Original line number Diff line number Diff line Ieee1609Dot2Crl {iso(1) identified-organization(3) ieee(111) standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2) crl(3) protocol(1) major-version-2(2) minor-version-2(2)} DEFINITIONS AUTOMATIC TAGS ::= BEGIN EXPORTS ALL; IMPORTS Ieee1609Dot2Data 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) minor-version-4(4)} Opaque, Psid 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) minor-version-3(3)} CrlContents FROM Ieee1609Dot2CrlBaseTypes {iso(1) identified-organization(3) ieee(111) standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2) crl(3) base-types(2) major-version-2 (2) minor-version-2(2)} ; CrlPsid ::= Psid(256) -- PSID = 0x100, 0p8080 SecuredCrl ::= Ieee1609Dot2Data (WITH COMPONENTS {..., content (WITH COMPONENTS { signedData (WITH COMPONENTS {..., tbsData (WITH COMPONENTS { payload (WITH COMPONENTS {..., data (WITH COMPONENTS {..., content (WITH COMPONENTS { unsecuredData (CONTAINING CrlContents) }) }) }), headerInfo (WITH COMPONENTS {..., psid (CrlPsid), generationTime ABSENT, expiryTime ABSENT, generationLocation ABSENT, p2pcdLearningRequest ABSENT, missingCrlIdentifier ABSENT, encryptionKey ABSENT }) }) }) }) }) END Ieee1609Dot2CrlBaseTypes.asndeleted 100755 → 0 +0 −130 Original line number Diff line number Diff line Ieee1609Dot2CrlBaseTypes {iso(1) identified-organization(3) ieee(111) standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2) crl(3) base-types(2) major-version-2(2) minor-version-2(2)} DEFINITIONS AUTOMATIC TAGS ::= BEGIN EXPORTS ALL; IMPORTS CrlSeries, GeographicRegion, HashedId8, HashedId10, IValue, LaId, LinkageSeed, Opaque, Psid, Signature, Time32, Uint3, Uint8, Uint16, Uint32, ValidityPeriod 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) minor-version-3(3)} ; -- -- -- CRL contents -- -- CrlContents ::= SEQUENCE { version Uint8 (1), crlSeries CrlSeries, cracaId HashedId8, issueDate Time32, nextCrl Time32, priorityInfo CrlPriorityInfo, typeSpecific CHOICE { fullHashCrl ToBeSignedHashIdCrl, deltaHashCrl ToBeSignedHashIdCrl, fullLinkedCrl ToBeSignedLinkageValueCrl, deltaLinkedCrl ToBeSignedLinkageValueCrl, ... } } CrlPriorityInfo ::= SEQUENCE { priority Uint8 OPTIONAL, ... } ToBeSignedHashIdCrl ::= SEQUENCE { crlSerial Uint32, entries SequenceOfHashBasedRevocationInfo, ... } HashBasedRevocationInfo ::= SEQUENCE { id HashedId10, expiry Time32 } SequenceOfHashBasedRevocationInfo ::= SEQUENCE OF HashBasedRevocationInfo ToBeSignedLinkageValueCrl ::= SEQUENCE { iRev IValue, indexWithinI Uint8, individual SequenceOfJMaxGroup OPTIONAL, groups SequenceOfGroupCrlEntry OPTIONAL, ... } (WITH COMPONENTS {..., individual PRESENT} | WITH COMPONENTS {..., groups PRESENT}) JMaxGroup ::= SEQUENCE { jmax Uint8, contents SequenceOfLAGroup, ... } SequenceOfJMaxGroup ::= SEQUENCE OF JMaxGroup LAGroup ::= SEQUENCE { la1Id LaId, la2Id LaId, contents SequenceOfIMaxGroup, ... } SequenceOfLAGroup ::= SEQUENCE OF LAGroup IMaxGroup ::= SEQUENCE { iMax Uint16, contents SequenceOfIndividualRevocation, ... } SequenceOfIMaxGroup ::= SEQUENCE OF IMaxGroup IndividualRevocation ::= SEQUENCE { linkage-seed1 LinkageSeed, linkage-seed2 LinkageSeed, ... } SequenceOfIndividualRevocation ::= SEQUENCE OF IndividualRevocation GroupCrlEntry ::= SEQUENCE { iMax Uint16, la1Id LaId, linkageSeed1 LinkageSeed, la2Id LaId, linkageSeed2 LinkageSeed, ... } SequenceOfGroupCrlEntry ::= SEQUENCE OF GroupCrlEntry END Ieee1609Dot2Dot1AcaEeInterface.asn +92 −101 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ --***************************************************************************-- /** * @brief NOTE: Section references in this file are to clauses in IEEE Std * @note Section references in this file are to clauses in IEEE Std * 1609.2.1 unless indicated otherwise. Full forms of acronyms and * abbreviations used in this file are specified in 3.2. */ Loading @@ -11,32 +11,30 @@ Ieee1609Dot2Dot1AcaEeInterface {iso(1) identified-organization(3) ieee(111) standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2) extension-standards(255) dot1(1) interfaces(1) aca-ee(1) major-version-2(2) minor-version-2(2)} minor-version-3(3)} DEFINITIONS AUTOMATIC TAGS ::= BEGIN EXPORTS ALL; IMPORTS Certificate 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) minor-version-5(5)} WITH SUCCESSORS Time32, Uint8 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) minor-version-3(3)} WITH SUCCESSORS Certificate 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) minor-version-4(4)} WITH SUCCESSORS ; /** * @class AcaEeInterfacePdu * * @brief This is the parent structure for all structures exchanged between * the ACA and the EE. The ACA – EE interface is a logical interface rather * the ACA and the EE. The ACA - EE interface is a logical interface rather * than a direct communications interface in that there is no direct message * flow between the ACA and the EE: Messages from the ACA are stored * by the RA and subsequently forwarded to the EE. The PDUs are identified as Loading @@ -44,7 +42,7 @@ WITH SUCCESSORS * PDUs are created by the ACA and encrypted for the EE, and not modified and * frequently not read by the RA. An overview of this structure is as follows: * * @param acaEeCertResponse contains the ACA's response to * @param acaEeCertResponse: contains the ACA's response to * RaAcaCertRequestSPDU, which is meant for the EE and sent via the RA. */ AcaEeInterfacePdu ::= CHOICE { Loading @@ -53,42 +51,35 @@ WITH SUCCESSORS } /** * @class AcaEeCertResponse * * @brief This structure contains a certificate and associated data as * generated by the ACA for the EE that will be the holder of that * certificate. An overview of this structure is as follows: * * <br><br>NOTE: In the case where the butterfly expansion function is used * @note In the case where the butterfly expansion function is used * to set certEncKey in RaAcaCertRequest, the value j is not communicated to * the ACA. However, the EE that receives the certificate response can only * decrypt the response if it knows j. The RA is therefore anticipated to * store j so that it can be associated with the appropriate certificate * response. The RA encodes j in the filename. * * @param version contains the current version of the structure. * @param version: contains the current version of the structure. * * @param generationTime contains the generation time of AcaEeCertResponse. * @param generationTime: contains the generation time of AcaEeCertResponse. * * @param certificate contains an authorization certificate generated by the * @param certificate: contains an authorization certificate generated by the * ACA. It is of the type indicated by the type field in the corresponding * request (if the requester requested an incorrect type, the response would * be an error not an instance of this structure). * * @param privateKeyInfo is an optional field that is as follows: * <ol> * <li> Present and contains the private key randomization value, if the * field certificate.type is explicit and the butterfly key mechanism was used * to generate the certificate. This is used by the EE in deriving the * butterfly private key for explicit certificates as specified in 9.3.</li> * * <li> Present and contains the private key reconstruction value, if the * field certificate.type is implicit. This is used by the EE as specified in * 5.3.2 of IEEE Std 1609.2a-2017 (also 9.3 if the butterfly key mechanism is * used).</li> * * <li> Absent otherwise.</li> * </ol> * @param privateKeyInfo: shall be: * - Present and contain the private key randomization value, if the field * certificate.type is explicit and the butterfly key mechanism was used to * generate the certificate. This is used by the EE in deriving the butterfly * private key for explicit certificates as specified in 9.3. * - Present and contain the private key reconstruction value, if the field * certificate.type is implicit. This is used by the EE as specified in 5.3.2 * of IEEE Std 1609.2a-2017 (also 9.3 if the butterfly key mechanism is used). * - Absent otherwise. */ AcaEeCertResponse ::= SEQUENCE { version Uint8 (2), Loading Loading
.gitlab-ci.yml 0 → 100755 +19 −0 Original line number Diff line number Diff line include: - project: 'forge-tools/asn2md' file: '/gitlab-ci/base.yml' variables: ASN1_SRC: '*.asn ieee1609dot2/*.asn' validate: extends: .validate only: changes: - '*.asn' documentation: extends: .documentation only: changes: - '*.asn'
.gitmodules +1 −1 Original line number Diff line number Diff line [submodule "ieee1609dot2"] path = ieee1609dot2 url = https://forge.etsi.org/rep/ITS/asn1/ieee1609.2.git branch = release2 branch = 2022
Ieee1609Dot2Crl.asndeleted 100755 → 0 +0 −57 Original line number Diff line number Diff line Ieee1609Dot2Crl {iso(1) identified-organization(3) ieee(111) standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2) crl(3) protocol(1) major-version-2(2) minor-version-2(2)} DEFINITIONS AUTOMATIC TAGS ::= BEGIN EXPORTS ALL; IMPORTS Ieee1609Dot2Data 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) minor-version-4(4)} Opaque, Psid 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) minor-version-3(3)} CrlContents FROM Ieee1609Dot2CrlBaseTypes {iso(1) identified-organization(3) ieee(111) standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2) crl(3) base-types(2) major-version-2 (2) minor-version-2(2)} ; CrlPsid ::= Psid(256) -- PSID = 0x100, 0p8080 SecuredCrl ::= Ieee1609Dot2Data (WITH COMPONENTS {..., content (WITH COMPONENTS { signedData (WITH COMPONENTS {..., tbsData (WITH COMPONENTS { payload (WITH COMPONENTS {..., data (WITH COMPONENTS {..., content (WITH COMPONENTS { unsecuredData (CONTAINING CrlContents) }) }) }), headerInfo (WITH COMPONENTS {..., psid (CrlPsid), generationTime ABSENT, expiryTime ABSENT, generationLocation ABSENT, p2pcdLearningRequest ABSENT, missingCrlIdentifier ABSENT, encryptionKey ABSENT }) }) }) }) }) END
Ieee1609Dot2CrlBaseTypes.asndeleted 100755 → 0 +0 −130 Original line number Diff line number Diff line Ieee1609Dot2CrlBaseTypes {iso(1) identified-organization(3) ieee(111) standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2) crl(3) base-types(2) major-version-2(2) minor-version-2(2)} DEFINITIONS AUTOMATIC TAGS ::= BEGIN EXPORTS ALL; IMPORTS CrlSeries, GeographicRegion, HashedId8, HashedId10, IValue, LaId, LinkageSeed, Opaque, Psid, Signature, Time32, Uint3, Uint8, Uint16, Uint32, ValidityPeriod 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) minor-version-3(3)} ; -- -- -- CRL contents -- -- CrlContents ::= SEQUENCE { version Uint8 (1), crlSeries CrlSeries, cracaId HashedId8, issueDate Time32, nextCrl Time32, priorityInfo CrlPriorityInfo, typeSpecific CHOICE { fullHashCrl ToBeSignedHashIdCrl, deltaHashCrl ToBeSignedHashIdCrl, fullLinkedCrl ToBeSignedLinkageValueCrl, deltaLinkedCrl ToBeSignedLinkageValueCrl, ... } } CrlPriorityInfo ::= SEQUENCE { priority Uint8 OPTIONAL, ... } ToBeSignedHashIdCrl ::= SEQUENCE { crlSerial Uint32, entries SequenceOfHashBasedRevocationInfo, ... } HashBasedRevocationInfo ::= SEQUENCE { id HashedId10, expiry Time32 } SequenceOfHashBasedRevocationInfo ::= SEQUENCE OF HashBasedRevocationInfo ToBeSignedLinkageValueCrl ::= SEQUENCE { iRev IValue, indexWithinI Uint8, individual SequenceOfJMaxGroup OPTIONAL, groups SequenceOfGroupCrlEntry OPTIONAL, ... } (WITH COMPONENTS {..., individual PRESENT} | WITH COMPONENTS {..., groups PRESENT}) JMaxGroup ::= SEQUENCE { jmax Uint8, contents SequenceOfLAGroup, ... } SequenceOfJMaxGroup ::= SEQUENCE OF JMaxGroup LAGroup ::= SEQUENCE { la1Id LaId, la2Id LaId, contents SequenceOfIMaxGroup, ... } SequenceOfLAGroup ::= SEQUENCE OF LAGroup IMaxGroup ::= SEQUENCE { iMax Uint16, contents SequenceOfIndividualRevocation, ... } SequenceOfIMaxGroup ::= SEQUENCE OF IMaxGroup IndividualRevocation ::= SEQUENCE { linkage-seed1 LinkageSeed, linkage-seed2 LinkageSeed, ... } SequenceOfIndividualRevocation ::= SEQUENCE OF IndividualRevocation GroupCrlEntry ::= SEQUENCE { iMax Uint16, la1Id LaId, linkageSeed1 LinkageSeed, la2Id LaId, linkageSeed2 LinkageSeed, ... } SequenceOfGroupCrlEntry ::= SEQUENCE OF GroupCrlEntry END
Ieee1609Dot2Dot1AcaEeInterface.asn +92 −101 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ --***************************************************************************-- /** * @brief NOTE: Section references in this file are to clauses in IEEE Std * @note Section references in this file are to clauses in IEEE Std * 1609.2.1 unless indicated otherwise. Full forms of acronyms and * abbreviations used in this file are specified in 3.2. */ Loading @@ -11,32 +11,30 @@ Ieee1609Dot2Dot1AcaEeInterface {iso(1) identified-organization(3) ieee(111) standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2) extension-standards(255) dot1(1) interfaces(1) aca-ee(1) major-version-2(2) minor-version-2(2)} minor-version-3(3)} DEFINITIONS AUTOMATIC TAGS ::= BEGIN EXPORTS ALL; IMPORTS Certificate 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) minor-version-5(5)} WITH SUCCESSORS Time32, Uint8 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) minor-version-3(3)} WITH SUCCESSORS Certificate 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) minor-version-4(4)} WITH SUCCESSORS ; /** * @class AcaEeInterfacePdu * * @brief This is the parent structure for all structures exchanged between * the ACA and the EE. The ACA – EE interface is a logical interface rather * the ACA and the EE. The ACA - EE interface is a logical interface rather * than a direct communications interface in that there is no direct message * flow between the ACA and the EE: Messages from the ACA are stored * by the RA and subsequently forwarded to the EE. The PDUs are identified as Loading @@ -44,7 +42,7 @@ WITH SUCCESSORS * PDUs are created by the ACA and encrypted for the EE, and not modified and * frequently not read by the RA. An overview of this structure is as follows: * * @param acaEeCertResponse contains the ACA's response to * @param acaEeCertResponse: contains the ACA's response to * RaAcaCertRequestSPDU, which is meant for the EE and sent via the RA. */ AcaEeInterfacePdu ::= CHOICE { Loading @@ -53,42 +51,35 @@ WITH SUCCESSORS } /** * @class AcaEeCertResponse * * @brief This structure contains a certificate and associated data as * generated by the ACA for the EE that will be the holder of that * certificate. An overview of this structure is as follows: * * <br><br>NOTE: In the case where the butterfly expansion function is used * @note In the case where the butterfly expansion function is used * to set certEncKey in RaAcaCertRequest, the value j is not communicated to * the ACA. However, the EE that receives the certificate response can only * decrypt the response if it knows j. The RA is therefore anticipated to * store j so that it can be associated with the appropriate certificate * response. The RA encodes j in the filename. * * @param version contains the current version of the structure. * @param version: contains the current version of the structure. * * @param generationTime contains the generation time of AcaEeCertResponse. * @param generationTime: contains the generation time of AcaEeCertResponse. * * @param certificate contains an authorization certificate generated by the * @param certificate: contains an authorization certificate generated by the * ACA. It is of the type indicated by the type field in the corresponding * request (if the requester requested an incorrect type, the response would * be an error not an instance of this structure). * * @param privateKeyInfo is an optional field that is as follows: * <ol> * <li> Present and contains the private key randomization value, if the * field certificate.type is explicit and the butterfly key mechanism was used * to generate the certificate. This is used by the EE in deriving the * butterfly private key for explicit certificates as specified in 9.3.</li> * * <li> Present and contains the private key reconstruction value, if the * field certificate.type is implicit. This is used by the EE as specified in * 5.3.2 of IEEE Std 1609.2a-2017 (also 9.3 if the butterfly key mechanism is * used).</li> * * <li> Absent otherwise.</li> * </ol> * @param privateKeyInfo: shall be: * - Present and contain the private key randomization value, if the field * certificate.type is explicit and the butterfly key mechanism was used to * generate the certificate. This is used by the EE in deriving the butterfly * private key for explicit certificates as specified in 9.3. * - Present and contain the private key reconstruction value, if the field * certificate.type is implicit. This is used by the EE as specified in 5.3.2 * of IEEE Std 1609.2a-2017 (also 9.3 if the butterfly key mechanism is used). * - Absent otherwise. */ AcaEeCertResponse ::= SEQUENCE { version Uint8 (2), Loading