Commit 7e73a440 authored by ASN.1 Documenter's avatar ASN.1 Documenter
Browse files

version 2022-D13

parent 6a7c851a
Loading
Loading
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'
+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.asn

deleted100755 → 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.asn

deleted100755 → 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
+92 −101
Original line number Diff line number Diff line
@@ -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.
 */
@@ -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
@@ -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 {
@@ -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