ASN.1 module Ieee1609Dot2CrlBaseTypes

OID: {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-3(3) minor-version-2(2)} @note Section references in this file are to clauses in IEEE Std 1609.2 unless indicated otherwise. Full forms of acronyms and abbreviations used in this file are specified in 3.2.

Imports:

Data Elements:

CrlContents

The fields in this structure have the following meaning:

Fields:

CrlContents ::= SEQUENCE {
version Uint8 (1),
crlSeries CrlSeries,
crlCraca HashedId8,
issueDate Time32,
nextCrl Time32,
priorityInfo CrlPriorityInfo,
typeSpecific TypeSpecificCrlContents
}

CrlPriorityInfo

This data structure contains information that assists devices with limited storage space in determining which revocation information to retain and which to discard.

@note This mechanism is for future use; details are not specified in this version of the standard.

Fields:

CrlPriorityInfo ::= SEQUENCE {
priority Uint8 OPTIONAL,
...
}

TypeSpecificCrlContents

This structure contains type-specific CRL contents.

@note It is the intent of this standard that once a certificate is revoked, it remains revoked for the rest of its lifetime. CRL signers are expected to include a revoked certificate on all CRLs issued between the certificate's revocation and its expiry.

@note Seed evolution function and linkage value generation function identification. In order to derive linkage values per the mechanisms given in 5.1.3.4, a receiver needs to know the seed evolution function and the linkage value generation function.

If the contents of this structure is a ToBeSignedLinkageValueCrlWithAlgIdentifier, then the seed evolution function and linkage value generation function are given explicitly as specified in the specification of ToBeSignedLinkageValueCrlWithAlgIdentifier.

If the contents of this structure is a ToBeSignedLinkageValueCrl, then the seed evolution function and linkage value generation function are obtained based on the crlCraca field in the CrlContents:

Fields:

ToBeSignedHashIdCrl

This data structure represents information about a revoked certificate.

@note To indicate that a hash-based CRL contains no individual revocation information items, the recommended approach is for the SEQUENCE OF in the SequenceOfHashBasedRevocationInfo in this field to indicate zero entries.

Fields:

ToBeSignedHashIdCrl ::= SEQUENCE {
crlSerial Uint32,
entries SequenceOfHashBasedRevocationInfo,
...
}

SequenceOfHashBasedRevocationInfo

This type is used for clarity of definitions.

SequenceOfHashBasedRevocationInfo ::=
SEQUENCE OF HashBasedRevocationInfo

HashBasedRevocationInfo

In this structure:

Fields:

HashBasedRevocationInfo ::= SEQUENCE {
id HashedId10,
expiry Time32,
...
}

ToBeSignedLinkageValueCrl

In this structure:

@note To indicate that a linkage ID-based CRL contains no individual linkage data, the recommended approach is for the SEQUENCE OF in the SequenceOfJMaxGroup in this field to indicate zero entries.

@note To indicate that a linkage ID-based CRL contains no group linkage data, the recommended approach is for the SEQUENCE OF in the SequenceOfGroupCrlEntry in this field to indicate zero entries.

Fields:

ToBeSignedLinkageValueCrl ::= SEQUENCE {
iRev IValue,
indexWithinI Uint8,
individual SequenceOfJMaxGroup OPTIONAL,
groups SequenceOfGroupCrlEntry OPTIONAL,
...,
groupsSingleSeed SequenceOfGroupSingleSeedCrlEntry OPTIONAL
} (WITH COMPONENTS {..., individual PRESENT} |
WITH COMPONENTS {..., groups PRESENT} |
WITH COMPONENTS {..., groupsSingleSeed PRESENT})

SequenceOfJMaxGroup

This type is used for clarity of definitions.

SequenceOfJMaxGroup ::= SEQUENCE OF JMaxGroup

JMaxGroup

In this structure:

Fields:

JMaxGroup ::= SEQUENCE {
jmax Uint8,
contents SequenceOfLAGroup,
...
}

SequenceOfLAGroup

This type is used for clarity of definitions.

SequenceOfLAGroup ::= SEQUENCE OF LAGroup

LAGroup

In this structure:

Fields:

LAGroup ::= SEQUENCE {
la1Id LaId,
la2Id LaId,
contents SequenceOfIMaxGroup,
...
}

SequenceOfIMaxGroup

This type is used for clarity of definitions.

SequenceOfIMaxGroup ::= SEQUENCE OF IMaxGroup

IMaxGroup

In this structure:

Fields:

IMaxGroup ::= SEQUENCE {
iMax Uint16,
contents SequenceOfIndividualRevocation,
...,
singleSeed SequenceOfLinkageSeed OPTIONAL
}

SequenceOfIndividualRevocation

This type is used for clarity of definitions.

SequenceOfIndividualRevocation ::=
SEQUENCE (SIZE(0..MAX)) OF IndividualRevocation

IndividualRevocation

In this structure:

Fields:

IndividualRevocation ::= SEQUENCE {
linkageSeed1 LinkageSeed,
linkageSeed2 LinkageSeed,
...
}

SequenceOfGroupCrlEntry

This type is used for clarity of definitions.

SequenceOfGroupCrlEntry ::= SEQUENCE OF GroupCrlEntry

GroupCrlEntry

In this structure:

Fields:

GroupCrlEntry ::= SEQUENCE {
iMax Uint16,
la1Id LaId,
linkageSeed1 LinkageSeed,
la2Id LaId,
linkageSeed2 LinkageSeed,
...
}

ToBeSignedLinkageValueCrlWithAlgIdentifier

In this structure:

Fields:

ToBeSignedLinkageValueCrlWithAlgIdentifier ::= SEQUENCE {
iRev IValue,
indexWithinI Uint8,
seedEvolution SeedEvolutionFunctionIdentifier,
lvGeneration LvGenerationFunctionIdentifier,
individual SequenceOfJMaxGroup OPTIONAL,
groups SequenceOfGroupCrlEntry OPTIONAL,
groupsSingleSeed SequenceOfGroupSingleSeedCrlEntry OPTIONAL,
...
} (WITH COMPONENTS {..., individual PRESENT} |
WITH COMPONENTS {..., groups PRESENT} |
WITH COMPONENTS {..., groupsSingleSeed PRESENT})

SequenceOfGroupSingleSeedCrlEntry

This type is used for clarity of definitions.

SequenceOfGroupSingleSeedCrlEntry ::=
SEQUENCE OF GroupSingleSeedCrlEntry

GroupSingleSeedCrlEntry

This structure contains the linkage seed for group revocation with a single seed. The seed is used as specified in the algorithms in 5.1.3.4.

Fields:

ExpansionAlgorithmIdentifier

This structure contains an identifier for the algorithms specified in 5.1.3.4.

ExpansionAlgorithmIdentifier ::= ENUMERATED {
sha256ForI-aesForJ,
sm3ForI-sm4ForJ,
...
}

SeedEvolutionFunctionIdentifier

This is the identifier for the seed evolution function. See 5.1.3 for details of use.

SeedEvolutionFunctionIdentifier ::= NULL

LvGenerationFunctionIdentifier

This is the identifier for the linkage value generation function. See 5.1.3 for details of use.

LvGenerationFunctionIdentifier ::= NULL