CertificateBody (Bouncy Castle Library 1.54 API Specification)
Date: 2015-12-29

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         DERApplicationSpecific,
            //uniquely identifies the issuinng 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        DERApplicationSpecific,
            // 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            DERApplicationSpecific,
            // 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            DERApplicationSpecific,
            // the date after wich the certificate expires
            certificateExpirationDate            DERApplicationSpecific
        }

- - ### Field Summary

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

  - ### Constructor Summary

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

  - ### Method Summary

    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
    `DERApplicationSpecific` | `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 issuinng 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

      `equals, getEncoded, getEncoded, hasEncodedTagValue, hashCode, toASN1Object`

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

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

- - ### Field Detail

    - #### profileType

          public static final int profileType

      See Also:
        Constant Field Values

    - #### requestType

          public static final int requestType

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### CertificateBody

          public CertificateBody(DERApplicationSpecific 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 wich 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 DERApplicationSpecific 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 issuinng CA's signature key pair
      Returns:
        the certificationAuthorityReference
      Throws:
        `java.io.IOException`

    - #### getPublicKey

          public PublicKeyDataObject getPublicKey()

      Returns:
        the PublicKey