Top Description Fields Constructors Methods
org.bouncycastle.oer.its.template.ieee1609dot2

public Class IEEE1609dot2

extends Object
Class Inheritance
Imports
java.math.BigInteger, org.bouncycastle.asn1.ASN1Encodable, .ASN1Integer, .DERBitString, org.bouncycastle.oer.Element, .ElementSupplier, .OERDefinition, .Switch, .SwitchIndexer, org.bouncycastle.oer.its.template.etsi103097.extension.EtsiTs103097ExtensionModule, org.bouncycastle.oer.its.template.ieee1609dot2.basetypes.Ieee1609Dot2BaseTypes, org.bouncycastle.util.BigIntegers

OER forward definition builders for OER encoded data.

Field Summary

Modifier and TypeField and Description
public static final OERDefinition.Builder
AesCcmCiphertext

AesCcmCiphertext ::= SEQUENCE { nonce OCTET STRING (SIZE (12)), ccmCiphertext Opaque }

public static final OERDefinition.Builder
Certificate

Certificate ::= CertificateBase (ImplicitCertificate | ExplicitCertificate)

public static final OERDefinition.Builder
CertificateBase

CertificateBase represents both of these, but with different values depending on the type.

public static final OERDefinition.Builder
CertificateId

CertificateId ::= CHOICE { linkageData LinkageData, name Hostname, binaryId OCTET STRING(SIZE(1..64)), none NULL, ...

public static final OERDefinition.Builder
CertificateType

CertificateType ::= ENUMERATED { explicit, implicit, ...

public static final OERDefinition.Builder
ContributedExtensionBlock

IEEE1609DOT2-HEADERINFO-CONTRIBUTED-EXTENSION ::= CLASS { &id HeaderInfoContributorId UNIQUE, &Extn } WITH SYNTAX {&Extn IDENTIFIED BY &id}

ContributedExtensionBlock ::= SEQUENCE { contributorId IEEE1609DOT2-HEADERINFO-CONTRIBUTED-EXTENSION.

public static final OERDefinition.Builder
ContributedExtensionBlocks

ContributedExtensionBlocks ::= SEQUENCE (SIZE(1..MAX)) OF ContributedExtensionBlock

public static final Switch
ContributedExtensionBlockSwitch

Switch for ContributedExtensionBlock

public static final OERDefinition.Builder
public static final OERDefinition.Builder
EncryptedData

EncryptedData ::= SEQUENCE { recipients SequenceOfRecipientInfo, ciphertext SymmetricCiphertext }

public static final OERDefinition.Builder
EncryptedDataEncryptionKey

EncryptedDataEncryptionKey ::= CHOICE { eciesNistP256 EciesP256EncryptedKey, eciesBrainpoolP256r1 EciesP256EncryptedKey, ...

public static final OERDefinition.Builder
EndEntityType

EndEntityType ::= BIT STRING {app (0), enrol (1) } (SIZE (8))

private static final ASN1Integer
etsiHeaderInfoContributorId

etsiHeaderInfoContributorId HeaderInfoContributorId ::= 2

public static final OERDefinition.Builder
ExplicitCertificate

ExplicitCertificate ::= CertificateBase (WITH COMPONENTS {..., type(explicit), toBeSigned(WITH COMPONENTS {..., verifyKeyIndicator(WITH COMPONENTS {verificationKey}) }), signature PRESENT })

private static ASN1Integer
private static final ASN1Encodable[]
public static final OERDefinition.Builder
HashedData

HashedData::= CHOICE { sha256HashedData OCTET STRING (SIZE(32)), ..., sha384HashedData OCTET STRING (SIZE(48)), reserved OCTET STRING (SIZE(32)) }

public static final OERDefinition.Builder
HeaderInfo

HeaderInfo ::= SEQUENCE { psid Psid, generationTime Time64 OPTIONAL, expiryTime Time64 OPTIONAL, generationLocation ThreeDLocation OPTIONAL, p2pcdLearningRequest HashedId3 OPTIONAL, missingCrlIdentifier MissingCrlIdentifier OPTIONAL, encryptionKey EncryptionKey OPTIONAL, ..., inlineP2pcdRequest SequenceOfHashedId3 OPTIONAL, requestedCertificate Certificate OPTIONAL, pduFunctionalType PduFunctionalType OPTIONAL, contributedExtensions ContributedExtensionBlocks OPTIONAL }

public static final OERDefinition.Builder
HeaderInfoContributorId

HeaderInfoContributorId ::= INTEGER (0..255) etsiHeaderInfoContributorId HeaderInfoContributorId ::= 2

public static final OERDefinition.Builder
Ieee1609Dot2Content

Ieee1609Dot2Content ::= CHOICE { unsecuredData Opaque, signedData SignedData, encryptedData EncryptedData, signedCertificateRequest Opaque, ...

public static final OERDefinition.Builder
Ieee1609Dot2Data

Ieee1609Dot2Data ::= SEQUENCE { protocolVersion Uint8(3), content Ieee1609Dot2Content }

public static final OERDefinition.Builder
ImplicitCertificate

ImplicitCertificate ::= CertificateBase (WITH COMPONENTS {..., type(implicit), toBeSigned(WITH COMPONENTS {..., verifyKeyIndicator(WITH COMPONENTS {reconstructionValue}) }), signature ABSENT })

private static ASN1Integer
public static final OERDefinition.Builder
IssuerIdentifier

IssuerIdentifier ::= CHOICE { sha256AndDigest HashedId8, self HashAlgorithm, ..., sha384AndDigest HashedId8 }

public static final OERDefinition.Builder
LinkageData

LinkageData ::= SEQUENCE { iCert IValue, linkage-value LinkageValue, group-linkage-value GroupLinkageValue OPTIONAL }

public static final OERDefinition.Builder
MissingCrlIdentifier

MissingCrlIdentifier ::= SEQUENCE { cracaId HashedId3, crlSeries CrlSeries, ...

public static final OERDefinition.Builder
public static final OERDefinition.Builder
PduFunctionalType

PduFunctionalType ::= INTEGER (0..255) tlsHandshake PduFunctionalType ::= 1 iso21177ExtendedAuth PduFunctionalType ::= 2

public static final OERDefinition.Builder
PKRecipientInfo

PKRecipientInfo ::= SEQUENCE { recipientId HashedId8, encKey EncryptedDataEncryptionKey }

public static final OERDefinition.Builder
PreSharedKeyRecipientInfo

PreSharedKeyRecipientInfo ::= HashedId8

public static final OERDefinition.Builder
PsidGroupPermissions

PsidGroupPermissions ::= SEQUENCE { subjectPermissions SubjectPermissions, minChainLength INTEGER DEFAULT 1, chainLengthRange INTEGER DEFAULT 0, eeType EndEntityType DEFAULT '00'H }

public static final OERDefinition.Builder
RecipientInfo

RecipientInfo ::= CHOICE { pskRecipInfo PreSharedKeyRecipientInfo, symmRecipInfo SymmRecipientInfo, certRecipInfo PKRecipientInfo, signedDataRecipInfo PKRecipientInfo, rekRecipInfo PKRecipientInfo }

public static final OERDefinition.Builder
SequenceOfCertificate

SequenceOfCertificate ::= SEQUENCE OF Certificate

public static final OERDefinition.Builder
SequenceOfPsidGroupPermissions

SequenceOfPsidGroupPermissions ::= SEQUENCE OF PsidGroupPermissions

public static final OERDefinition.Builder
SequenceOfRecipientInfo

SequenceOfRecipientInfo ::= SEQUENCE OF RecipientInfo

public static final OERDefinition.Builder
SignedData

SignedData ::= SEQUENCE { hashId HashAlgorithm, tbsData ToBeSignedData, signer SignerIdentifier, signature Signature }

public static final OERDefinition.Builder
SignedDataPayload

SignedDataPayload ::= SEQUENCE { data Ieee1609Dot2Data OPTIONAL, extDataHash HashedData OPTIONAL, ...

public static final OERDefinition.Builder
SignerIdentifier

SignerIdentifier ::= CHOICE { digest HashedId8, certificate SequenceOfCertificate, self NULL, ...

public static final OERDefinition.Builder
SubjectPermissions

SubjectPermissions ::= CHOICE { explicit SequenceOfPsidSspRange, all NULL, ...

public static final OERDefinition.Builder
SymmetricCiphertext

SymmetricCiphertext ::= CHOICE { aes128ccm AesCcmCiphertext, ...

public static final OERDefinition.Builder
SymmRecipientInfo

SymmRecipientInfo ::= SEQUENCE { recipientId HashedId8, encKey SymmetricCiphertext }

public static final OERDefinition.Builder
ToBeSignedCertificate

ToBeSignedCertificate ::= SEQUENCE { id CertificateId, cracaId HashedId3, crlSeries CrlSeries, validityPeriod ValidityPeriod, region GeographicRegion OPTIONAL, assuranceLevel SubjectAssurance OPTIONAL, appPermissions SequenceOfPsidSsp OPTIONAL, certIssuePermissions SequenceOfPsidGroupPermissions OPTIONAL, certRequestPermissions SequenceOfPsidGroupPermissions OPTIONAL, canRequestRollover NULL OPTIONAL, encryptionKey PublicEncryptionKey OPTIONAL, verifyKeyIndicator VerificationKeyIndicator, ...

public static final OERDefinition.Builder
ToBeSignedData

ToBeSignedData ::= SEQUENCE { payload SignedDataPayload, headerInfo HeaderInfo } Defined in static initializer.

public static final OERDefinition.Builder
VerificationKeyIndicator

VerificationKeyIndicator ::= CHOICE { verificationKey PublicVerificationKey, reconstructionValue EccP256CurvePoint, ...

Constructor Summary

AccessConstructor and Description
public

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

AesCcmCiphertextback to summary
public static final OERDefinition.Builder AesCcmCiphertext

AesCcmCiphertext ::= SEQUENCE { nonce OCTET STRING (SIZE (12)), ccmCiphertext Opaque }

Certificateback to summary
public static final OERDefinition.Builder Certificate

Certificate ::= CertificateBase (ImplicitCertificate | ExplicitCertificate)

CertificateBaseback to summary
public static final OERDefinition.Builder CertificateBase

CertificateBase represents both of these, but with different values depending on the type.

ExplicitCertificate ::= CertificateBase (WITH COMPONENTS {..., type(explicit), toBeSigned(WITH COMPONENTS {..., verifyKeyIndicator(WITH COMPONENTS {verificationKey}) }), signature PRESENT })

ImplicitCertificate ::= CertificateBase (WITH COMPONENTS {..., type(implicit), toBeSigned(WITH COMPONENTS {..., verifyKeyIndicator(WITH COMPONENTS {reconstructionValue}) }), signature ABSENT })

CertificateBase ::= SEQUENCE { version Uint8(3), type CertificateType, issuer IssuerIdentifier, toBeSigned ToBeSignedCertificate, signature Signature OPTIONAL }

CertificateIdback to summary
public static final OERDefinition.Builder CertificateId

CertificateId ::= CHOICE { linkageData LinkageData, name Hostname, binaryId OCTET STRING(SIZE(1..64)), none NULL, ... }

CertificateTypeback to summary
public static final OERDefinition.Builder CertificateType

CertificateType ::= ENUMERATED { explicit, implicit, ... }

ContributedExtensionBlockback to summary
public static final OERDefinition.Builder ContributedExtensionBlock

IEEE1609DOT2-HEADERINFO-CONTRIBUTED-EXTENSION ::= CLASS { &id HeaderInfoContributorId UNIQUE, &Extn } WITH SYNTAX {&Extn IDENTIFIED BY &id}

ContributedExtensionBlock ::= SEQUENCE { contributorId IEEE1609DOT2-HEADERINFO-CONTRIBUTED-EXTENSION. &id({Ieee1609Dot2HeaderInfoContributedExtensions}), extns SEQUENCE (SIZE(1..MAX)) OF IEEE1609DOT2-HEADERINFO-CONTRIBUTED-EXTENSION. &Extn({Ieee1609Dot2HeaderInfoContributedExtensions}{@.contributorId}) }

ContributedExtensionBlocksback to summary
public static final OERDefinition.Builder ContributedExtensionBlocks

ContributedExtensionBlocks ::= SEQUENCE (SIZE(1..MAX)) OF ContributedExtensionBlock

ContributedExtensionBlockSwitchback to summary
public static final Switch ContributedExtensionBlockSwitch

Switch for ContributedExtensionBlock

CounterSignatureback to summary
public static final OERDefinition.Builder CounterSignature
EncryptedDataback to summary
public static final OERDefinition.Builder EncryptedData

EncryptedData ::= SEQUENCE { recipients SequenceOfRecipientInfo, ciphertext SymmetricCiphertext }

EncryptedDataEncryptionKeyback to summary
public static final OERDefinition.Builder EncryptedDataEncryptionKey

EncryptedDataEncryptionKey ::= CHOICE { eciesNistP256 EciesP256EncryptedKey, eciesBrainpoolP256r1 EciesP256EncryptedKey, ... }

EndEntityTypeback to summary
public static final OERDefinition.Builder EndEntityType

EndEntityType ::= BIT STRING {app (0), enrol (1) } (SIZE (8))

etsiHeaderInfoContributorIdback to summary
private static final ASN1Integer etsiHeaderInfoContributorId

etsiHeaderInfoContributorId HeaderInfoContributorId ::= 2

ExplicitCertificateback to summary
public static final OERDefinition.Builder ExplicitCertificate

ExplicitCertificate ::= CertificateBase (WITH COMPONENTS {..., type(explicit), toBeSigned(WITH COMPONENTS {..., verifyKeyIndicator(WITH COMPONENTS {verificationKey}) }), signature PRESENT })

explicitOrdinalback to summary
private static ASN1Integer explicitOrdinal
extensionBlockSwitchKeysback to summary
private static final ASN1Encodable[] extensionBlockSwitchKeys
HashedDataback to summary
public static final OERDefinition.Builder HashedData

HashedData::= CHOICE { sha256HashedData OCTET STRING (SIZE(32)), ..., sha384HashedData OCTET STRING (SIZE(48)), reserved OCTET STRING (SIZE(32)) }

HeaderInfoback to summary
public static final OERDefinition.Builder HeaderInfo

HeaderInfo ::= SEQUENCE { psid Psid, generationTime Time64 OPTIONAL, expiryTime Time64 OPTIONAL, generationLocation ThreeDLocation OPTIONAL, p2pcdLearningRequest HashedId3 OPTIONAL, missingCrlIdentifier MissingCrlIdentifier OPTIONAL, encryptionKey EncryptionKey OPTIONAL, ..., inlineP2pcdRequest SequenceOfHashedId3 OPTIONAL, requestedCertificate Certificate OPTIONAL, pduFunctionalType PduFunctionalType OPTIONAL, contributedExtensions ContributedExtensionBlocks OPTIONAL }

HeaderInfoContributorIdback to summary
public static final OERDefinition.Builder HeaderInfoContributorId

HeaderInfoContributorId ::= INTEGER (0..255) etsiHeaderInfoContributorId HeaderInfoContributorId ::= 2

Ieee1609Dot2Contentback to summary
public static final OERDefinition.Builder Ieee1609Dot2Content

Ieee1609Dot2Content ::= CHOICE { unsecuredData Opaque, signedData SignedData, encryptedData EncryptedData, signedCertificateRequest Opaque, ... }

Ieee1609Dot2Databack to summary
public static final OERDefinition.Builder Ieee1609Dot2Data

Ieee1609Dot2Data ::= SEQUENCE { protocolVersion Uint8(3), content Ieee1609Dot2Content }

ImplicitCertificateback to summary
public static final OERDefinition.Builder ImplicitCertificate

ImplicitCertificate ::= CertificateBase (WITH COMPONENTS {..., type(implicit), toBeSigned(WITH COMPONENTS {..., verifyKeyIndicator(WITH COMPONENTS {reconstructionValue}) }), signature ABSENT })

implicitOrdinalback to summary
private static ASN1Integer implicitOrdinal
IssuerIdentifierback to summary
public static final OERDefinition.Builder IssuerIdentifier

IssuerIdentifier ::= CHOICE { sha256AndDigest HashedId8, self HashAlgorithm, ..., sha384AndDigest HashedId8 }

LinkageDataback to summary
public static final OERDefinition.Builder LinkageData

LinkageData ::= SEQUENCE { iCert IValue, linkage-value LinkageValue, group-linkage-value GroupLinkageValue OPTIONAL }

MissingCrlIdentifierback to summary
public static final OERDefinition.Builder MissingCrlIdentifier

MissingCrlIdentifier ::= SEQUENCE { cracaId HashedId3, crlSeries CrlSeries, ... }

Opaqueback to summary
public static final OERDefinition.Builder Opaque
PduFunctionalTypeback to summary
public static final OERDefinition.Builder PduFunctionalType

PduFunctionalType ::= INTEGER (0..255) tlsHandshake PduFunctionalType ::= 1 iso21177ExtendedAuth PduFunctionalType ::= 2

PKRecipientInfoback to summary
public static final OERDefinition.Builder PKRecipientInfo

PKRecipientInfo ::= SEQUENCE { recipientId HashedId8, encKey EncryptedDataEncryptionKey }

PreSharedKeyRecipientInfoback to summary
public static final OERDefinition.Builder PreSharedKeyRecipientInfo

PreSharedKeyRecipientInfo ::= HashedId8

PsidGroupPermissionsback to summary
public static final OERDefinition.Builder PsidGroupPermissions

PsidGroupPermissions ::= SEQUENCE { subjectPermissions SubjectPermissions, minChainLength INTEGER DEFAULT 1, chainLengthRange INTEGER DEFAULT 0, eeType EndEntityType DEFAULT '00'H }

RecipientInfoback to summary
public static final OERDefinition.Builder RecipientInfo

RecipientInfo ::= CHOICE { pskRecipInfo PreSharedKeyRecipientInfo, symmRecipInfo SymmRecipientInfo, certRecipInfo PKRecipientInfo, signedDataRecipInfo PKRecipientInfo, rekRecipInfo PKRecipientInfo }

SequenceOfCertificateback to summary
public static final OERDefinition.Builder SequenceOfCertificate

SequenceOfCertificate ::= SEQUENCE OF Certificate

SequenceOfPsidGroupPermissionsback to summary
public static final OERDefinition.Builder SequenceOfPsidGroupPermissions

SequenceOfPsidGroupPermissions ::= SEQUENCE OF PsidGroupPermissions

SequenceOfRecipientInfoback to summary
public static final OERDefinition.Builder SequenceOfRecipientInfo

SequenceOfRecipientInfo ::= SEQUENCE OF RecipientInfo

SignedDataback to summary
public static final OERDefinition.Builder SignedData

SignedData ::= SEQUENCE { hashId HashAlgorithm, tbsData ToBeSignedData, signer SignerIdentifier, signature Signature }

SignedDataPayloadback to summary
public static final OERDefinition.Builder SignedDataPayload

SignedDataPayload ::= SEQUENCE { data Ieee1609Dot2Data OPTIONAL, extDataHash HashedData OPTIONAL, ... } (WITH COMPONENTS {..., data PRESENT} | WITH COMPONENTS {..., extDataHash PRESENT})

SignerIdentifierback to summary
public static final OERDefinition.Builder SignerIdentifier

SignerIdentifier ::= CHOICE { digest HashedId8, certificate SequenceOfCertificate, self NULL, ... }

SubjectPermissionsback to summary
public static final OERDefinition.Builder SubjectPermissions

SubjectPermissions ::= CHOICE { explicit SequenceOfPsidSspRange, all NULL, ... }

SymmetricCiphertextback to summary
public static final OERDefinition.Builder SymmetricCiphertext

SymmetricCiphertext ::= CHOICE { aes128ccm AesCcmCiphertext, ... }

SymmRecipientInfoback to summary
public static final OERDefinition.Builder SymmRecipientInfo

SymmRecipientInfo ::= SEQUENCE { recipientId HashedId8, encKey SymmetricCiphertext }

ToBeSignedCertificateback to summary
public static final OERDefinition.Builder ToBeSignedCertificate

ToBeSignedCertificate ::= SEQUENCE { id CertificateId, cracaId HashedId3, crlSeries CrlSeries, validityPeriod ValidityPeriod, region GeographicRegion OPTIONAL, assuranceLevel SubjectAssurance OPTIONAL, appPermissions SequenceOfPsidSsp OPTIONAL, certIssuePermissions SequenceOfPsidGroupPermissions OPTIONAL, certRequestPermissions SequenceOfPsidGroupPermissions OPTIONAL, canRequestRollover NULL OPTIONAL, encryptionKey PublicEncryptionKey OPTIONAL, verifyKeyIndicator VerificationKeyIndicator, ... } (WITH COMPONENTS { ..., appPermissions PRESENT} | WITH COMPONENTS { ..., certIssuePermissions PRESENT} | WITH COMPONENTS { ..., certRequestPermissions PRESENT})

ToBeSignedDataback to summary
public static final OERDefinition.Builder ToBeSignedData

ToBeSignedData ::= SEQUENCE { payload SignedDataPayload, headerInfo HeaderInfo } Defined in static initializer.

VerificationKeyIndicatorback to summary
public static final OERDefinition.Builder VerificationKeyIndicator

VerificationKeyIndicator ::= CHOICE { verificationKey PublicVerificationKey, reconstructionValue EccP256CurvePoint, ... }

Constructor Detail

IEEE1609dot2back to summary
public IEEE1609dot2()