java.lang.Object
org.bouncycastle.oer.its.template.ieee1609dot2.IEEE1609dot2

public class IEEE1609dot2 extends Object
OER forward definition builders for OER encoded data.
  • Field Details

    • Opaque

      public static final OERDefinition.Builder Opaque
    • PduFunctionalType

      public static final OERDefinition.Builder PduFunctionalType
      PduFunctionalType ::= INTEGER (0..255) tlsHandshake PduFunctionalType ::= 1 iso21177ExtendedAuth PduFunctionalType ::= 2
    • HashedData

      public static final OERDefinition.Builder HashedData
      HashedData::= CHOICE { sha256HashedData OCTET STRING (SIZE(32)), ..., sha384HashedData OCTET STRING (SIZE(48)), reserved OCTET STRING (SIZE(32)) }
    • MissingCrlIdentifier

      public static final OERDefinition.Builder MissingCrlIdentifier
      MissingCrlIdentifier ::= SEQUENCE { cracaId HashedId3, crlSeries CrlSeries, ... }
    • HeaderInfoContributorId

      public static final OERDefinition.Builder HeaderInfoContributorId
      HeaderInfoContributorId ::= INTEGER (0..255) etsiHeaderInfoContributorId HeaderInfoContributorId ::= 2
    • ContributedExtensionBlockSwitch

      public static final Switch ContributedExtensionBlockSwitch
      Switch for ContributedExtensionBlock
    • ContributedExtensionBlock

      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}) }

    • ContributedExtensionBlocks

      public static final OERDefinition.Builder ContributedExtensionBlocks
      ContributedExtensionBlocks ::= SEQUENCE (SIZE(1..MAX)) OF ContributedExtensionBlock
    • PreSharedKeyRecipientInfo

      public static final OERDefinition.Builder PreSharedKeyRecipientInfo
      PreSharedKeyRecipientInfo ::= HashedId8
    • EncryptedDataEncryptionKey

      public static final OERDefinition.Builder EncryptedDataEncryptionKey
      EncryptedDataEncryptionKey ::= CHOICE { eciesNistP256 EciesP256EncryptedKey, eciesBrainpoolP256r1 EciesP256EncryptedKey, ... }
    • PKRecipientInfo

      public static final OERDefinition.Builder PKRecipientInfo
      PKRecipientInfo ::= SEQUENCE { recipientId HashedId8, encKey EncryptedDataEncryptionKey }
    • AesCcmCiphertext

      public static final OERDefinition.Builder AesCcmCiphertext
      AesCcmCiphertext ::= SEQUENCE { nonce OCTET STRING (SIZE (12)), ccmCiphertext Opaque }
    • SymmetricCiphertext

      public static final OERDefinition.Builder SymmetricCiphertext
      SymmetricCiphertext ::= CHOICE { aes128ccm AesCcmCiphertext, ... }
    • SymmRecipientInfo

      public static final OERDefinition.Builder SymmRecipientInfo
      SymmRecipientInfo ::= SEQUENCE { recipientId HashedId8, encKey SymmetricCiphertext }
    • RecipientInfo

      public static final OERDefinition.Builder RecipientInfo
      RecipientInfo ::= CHOICE { pskRecipInfo PreSharedKeyRecipientInfo, symmRecipInfo SymmRecipientInfo, certRecipInfo PKRecipientInfo, signedDataRecipInfo PKRecipientInfo, rekRecipInfo PKRecipientInfo }
    • SequenceOfRecipientInfo

      public static final OERDefinition.Builder SequenceOfRecipientInfo
      SequenceOfRecipientInfo ::= SEQUENCE OF RecipientInfo
    • EncryptedData

      public static final OERDefinition.Builder EncryptedData
      EncryptedData ::= SEQUENCE { recipients SequenceOfRecipientInfo, ciphertext SymmetricCiphertext }
    • EndEntityType

      public static final OERDefinition.Builder EndEntityType
      EndEntityType ::= BIT STRING {app (0), enrol (1) } (SIZE (8))
    • SubjectPermissions

      public static final OERDefinition.Builder SubjectPermissions
      SubjectPermissions ::= CHOICE { explicit SequenceOfPsidSspRange, all NULL, ... }
    • VerificationKeyIndicator

      public static final OERDefinition.Builder VerificationKeyIndicator
      VerificationKeyIndicator ::= CHOICE { verificationKey PublicVerificationKey, reconstructionValue EccP256CurvePoint, ... }
    • PsidGroupPermissions

      public static final OERDefinition.Builder PsidGroupPermissions
      PsidGroupPermissions ::= SEQUENCE { subjectPermissions SubjectPermissions, minChainLength INTEGER DEFAULT 1, chainLengthRange INTEGER DEFAULT 0, eeType EndEntityType DEFAULT '00'H }
    • SequenceOfPsidGroupPermissions

      public static final OERDefinition.Builder SequenceOfPsidGroupPermissions
      SequenceOfPsidGroupPermissions ::= SEQUENCE OF PsidGroupPermissions
    • LinkageData

      public static final OERDefinition.Builder LinkageData
      LinkageData ::= SEQUENCE { iCert IValue, linkage-value LinkageValue, group-linkage-value GroupLinkageValue OPTIONAL }
    • CertificateId

      public static final OERDefinition.Builder CertificateId
      CertificateId ::= CHOICE { linkageData LinkageData, name Hostname, binaryId OCTET STRING(SIZE(1..64)), none NULL, ... }
    • ToBeSignedCertificate

      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})
    • IssuerIdentifier

      public static final OERDefinition.Builder IssuerIdentifier
      IssuerIdentifier ::= CHOICE { sha256AndDigest HashedId8, self HashAlgorithm, ..., sha384AndDigest HashedId8 }
    • CertificateType

      public static final OERDefinition.Builder CertificateType
      CertificateType ::= ENUMERATED { explicit, implicit, ... }
    • CertificateBase

      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 }

    • Certificate

      public static final OERDefinition.Builder Certificate
      Certificate ::= CertificateBase (ImplicitCertificate | ExplicitCertificate)
    • ExplicitCertificate

      public static final OERDefinition.Builder ExplicitCertificate
      ExplicitCertificate ::= CertificateBase (WITH COMPONENTS {..., type(explicit), toBeSigned(WITH COMPONENTS {..., verifyKeyIndicator(WITH COMPONENTS {verificationKey}) }), signature PRESENT })
    • ImplicitCertificate

      public static final OERDefinition.Builder ImplicitCertificate
      ImplicitCertificate ::= CertificateBase (WITH COMPONENTS {..., type(implicit), toBeSigned(WITH COMPONENTS {..., verifyKeyIndicator(WITH COMPONENTS {reconstructionValue}) }), signature ABSENT })
    • SequenceOfCertificate

      public static final OERDefinition.Builder SequenceOfCertificate
      SequenceOfCertificate ::= SEQUENCE OF Certificate
    • SignerIdentifier

      public static final OERDefinition.Builder SignerIdentifier
      SignerIdentifier ::= CHOICE { digest HashedId8, certificate SequenceOfCertificate, self NULL, ... }
    • HeaderInfo

      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 }
    • ToBeSignedData

      public static final OERDefinition.Builder ToBeSignedData
      ToBeSignedData ::= SEQUENCE { payload SignedDataPayload, headerInfo HeaderInfo } Defined in static initializer.
    • SignedData

      public static final OERDefinition.Builder SignedData
      SignedData ::= SEQUENCE { hashId HashAlgorithm, tbsData ToBeSignedData, signer SignerIdentifier, signature Signature }
    • Ieee1609Dot2Content

      public static final OERDefinition.Builder Ieee1609Dot2Content
      Ieee1609Dot2Content ::= CHOICE { unsecuredData Opaque, signedData SignedData, encryptedData EncryptedData, signedCertificateRequest Opaque, ... }
    • CounterSignature

      public static final OERDefinition.Builder CounterSignature
    • Ieee1609Dot2Data

      public static final OERDefinition.Builder Ieee1609Dot2Data
      Ieee1609Dot2Data ::= SEQUENCE { protocolVersion Uint8(3), content Ieee1609Dot2Content }
    • SignedDataPayload

      public static final OERDefinition.Builder SignedDataPayload
      SignedDataPayload ::= SEQUENCE { data Ieee1609Dot2Data OPTIONAL, extDataHash HashedData OPTIONAL, ... } (WITH COMPONENTS {..., data PRESENT} | WITH COMPONENTS {..., extDataHash PRESENT})
  • Constructor Details

    • IEEE1609dot2

      public IEEE1609dot2()