CertificateBody (Bouncy Castle Library 1.85 API Specification)
Date: 2026-07-12

org.bouncycastle.asn1.eac

## Class CertificateBody

- java.lang.Object
- - org.bouncycastle.asn1.ASN1Object
  - - org.bouncycastle.asn1.eac.CertificateBody

- All Implemented Interfaces:
    ASN1Encodable, Encodable

      public class CertificateBody
      extends ASN1Object

  an Iso7816CertificateBody structure.

        CertificateBody ::= SEQUENCE {
            // version of the certificate format. Must be 0 (version 1)
            CertificateProfileIdentifer         ASN1TaggedObject,
            // uniquely identifies the issuing CA's signature key pair
            // contains the iso3166-1 alpha2 encoded country code, the
            // name of issuer and the sequence number of the key pair.
            CertificationAuthorityReference        ASN1TaggedObject,
            // stores the encoded public key
            PublicKey                            Iso7816PublicKey,
            // associates the public key contained in the certificate with a unique name
            // contains the iso3166-1 alpha2 encoded country code, the
            // name of the holder and the sequence number of the key pair.
            certificateHolderReference            ASN1TaggedObject,
            // Encodes the role of the holder (i.e. CVCA, DV, IS) and assigns read/write
            // access rights to data groups storing sensitive data
            certificateHolderAuthorization        Iso7816CertificateHolderAuthorization,
            // the date of the certificate generation
            CertificateEffectiveDate            ASN1TaggedObject,
            // the date after which the certificate expires
            certificateExpirationDate            ASN1TaggedObject
        }

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `profileType` Deprecated.
    `static int` | `requestType` Deprecated.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CertificateBody(ASN1TaggedObject certificateProfileIdentifier, CertificationAuthorityReference certificationAuthorityReference, PublicKeyDataObject publicKey, CertificateHolderReference certificateHolderReference, CertificateHolderAuthorization certificateHolderAuthorization, PackedDate certificateEffectiveDate, PackedDate certificateExpirationDate)` builds an Iso7816CertificateBody by settings each parameters.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `PackedDate` | `getCertificateEffectiveDate()`
    `PackedDate` | `getCertificateExpirationDate()`
    `CertificateHolderAuthorization` | `getCertificateHolderAuthorization()` the Iso7816CertificateHolderAuthorization encodes the role of the holder (i.e.
    `CertificateHolderReference` | `getCertificateHolderReference()` certificateHolderReference : associates the public key contained in the certificate with a unique name
    `ASN1TaggedObject` | `getCertificateProfileIdentifier()` CertificateProfileIdentifier : version of the certificate format.
    `int` | `getCertificateType()` gives the type of the certificate (value should be profileType or requestType if all data are set).
    `CertificationAuthorityReference` | `getCertificationAuthorityReference()` get the certificationAuthorityReference certificationAuthorityReference : uniquely identifies the issuing CA's signature key pair
    `static CertificateBody` | `getInstance(java.lang.Object obj)` Gives an instance of Iso7816CertificateBody taken from Object obj
    `PublicKeyDataObject` | `getPublicKey()`
    `ASN1Primitive` | `toASN1Primitive()` create a "request" or "profile" type Iso7816CertificateBody according to the variables sets.

    - ### Methods inherited from class org.bouncycastle.asn1.ASN1Object

      `encodeTo, encodeTo, equals, getEncoded, getEncoded, hasEncodedTagValue, hashCode`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### profileType

          public static final int profileType

      Deprecated.
      See Also:
        Constant Field Values

    - #### requestType

          public static final int requestType

      Deprecated.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### CertificateBody

          public CertificateBody(ASN1TaggedObject certificateProfileIdentifier,
                                 CertificationAuthorityReference certificationAuthorityReference,
                                 PublicKeyDataObject publicKey,
                                 CertificateHolderReference certificateHolderReference,
                                 CertificateHolderAuthorization certificateHolderAuthorization,
                                 PackedDate certificateEffectiveDate,
                                 PackedDate certificateExpirationDate)

      builds an Iso7816CertificateBody by settings each parameters.
      Parameters:
        `certificateProfileIdentifier` -
        `certificationAuthorityReference` -
        `publicKey` -
        `certificateHolderReference` -
        `certificateHolderAuthorization` -
        `certificateEffectiveDate` -
        `certificateExpirationDate` -

  - ### Method Detail

    - #### toASN1Primitive

          public ASN1Primitive toASN1Primitive()

      create a "request" or "profile" type Iso7816CertificateBody according to the variables sets.
      Specified by:
        `toASN1Primitive` in interface `ASN1Encodable`
      Specified by:
        `toASN1Primitive` in class `ASN1Object`
      Returns:
        return the ASN1Primitive representing the "request" or "profile" type certificate body.

    - #### getCertificateType

          public int getCertificateType()

      gives the type of the certificate (value should be profileType or requestType if all data are set).
      Returns:
        the int representing the data already set.

    - #### getInstance

          public static CertificateBody getInstance(java.lang.Object obj)
                                             throws java.io.IOException

      Gives an instance of Iso7816CertificateBody taken from Object obj
      Parameters:
        `obj` - is the Object to extract the certificate body from.
      Returns:
        the Iso7816CertificateBody taken from Object obj.
      Throws:
        `java.io.IOException` - if object is not valid.

    - #### getCertificateEffectiveDate

          public PackedDate getCertificateEffectiveDate()

      Returns:
        the date of the certificate generation

    - #### getCertificateExpirationDate

          public PackedDate getCertificateExpirationDate()
                                                  throws java.io.IOException

      Returns:
        the date after which the certificate expires
      Throws:
        `java.io.IOException`

    - #### getCertificateHolderAuthorization

          public CertificateHolderAuthorization getCertificateHolderAuthorization()
                                                                           throws java.io.IOException

      the Iso7816CertificateHolderAuthorization encodes the role of the holder (i.e. CVCA, DV, IS) and assigns read/write access rights to data groups storing sensitive data. This functions returns the Certificate Holder Authorization
      Returns:
        the Iso7816CertificateHolderAuthorization
      Throws:
        `java.io.IOException`

    - #### getCertificateHolderReference

          public CertificateHolderReference getCertificateHolderReference()

      certificateHolderReference : associates the public key contained in the certificate with a unique name
      Returns:
        the certificateHolderReference.

    - #### getCertificateProfileIdentifier

          public ASN1TaggedObject getCertificateProfileIdentifier()

      CertificateProfileIdentifier : version of the certificate format. Must be 0 (version 1)
      Returns:
        the CertificateProfileIdentifier

    - #### getCertificationAuthorityReference

          public CertificationAuthorityReference getCertificationAuthorityReference()
                                                                             throws java.io.IOException

      get the certificationAuthorityReference certificationAuthorityReference : uniquely identifies the issuing CA's signature key pair
      Returns:
        the certificationAuthorityReference
      Throws:
        `java.io.IOException`

    - #### getPublicKey

          public PublicKeyDataObject getPublicKey()

      Returns:
        the PublicKey