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

org.bouncycastle.cert

## Class X509CertificateHolder

- java.lang.Object
- - org.bouncycastle.cert.X509CertificateHolder

- All Implemented Interfaces:
    org.bouncycastle.util.Encodable
  Direct Known Subclasses:
    JcaX509CertificateHolder

      public class X509CertificateHolder
      extends java.lang.Object
      implements org.bouncycastle.util.Encodable

  Holding class for an X.509 Certificate structure.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `X509CertificateHolder(byte[] certEncoding)` Create a X509CertificateHolder from the passed in bytes.
    `X509CertificateHolder(org.bouncycastle.asn1.x509.Certificate x509Certificate)` Create a X509CertificateHolder from the passed in ASN.1 structure.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(java.lang.Object o)`
    `java.util.Set` | `getCriticalExtensionOIDs()` Returns a set of ASN1ObjectIdentifier objects representing the OIDs of the critical extensions contained in this holder's certificate.
    `byte[]` | `getEncoded()` Return the ASN.1 encoding of this holder's certificate.
    `org.bouncycastle.asn1.x509.Extension` | `getExtension(org.bouncycastle.asn1.ASN1ObjectIdentifier oid)` Look up the extension associated with the passed in OID.
    `java.util.List` | `getExtensionOIDs()` Returns a list of ASN1ObjectIdentifier objects representing the OIDs of the extensions contained in this holder's certificate.
    `org.bouncycastle.asn1.x509.Extensions` | `getExtensions()` Return the extensions block associated with this certificate if there is one.
    `org.bouncycastle.asn1.x500.X500Name` | `getIssuer()` Return the issuer of this certificate.
    `java.util.Set` | `getNonCriticalExtensionOIDs()` Returns a set of ASN1ObjectIdentifier objects representing the OIDs of the non-critical extensions contained in this holder's certificate.
    `java.util.Date` | `getNotAfter()` Return the date after which this certificate is not valid.
    `java.util.Date` | `getNotBefore()` Return the date before which this certificate is not valid.
    `java.math.BigInteger` | `getSerialNumber()` Return the serial number of this attribute certificate.
    `byte[]` | `getSignature()` Return the bytes making up the signature associated with this attribute certificate.
    `org.bouncycastle.asn1.x509.AlgorithmIdentifier` | `getSignatureAlgorithm()` Return the details of the signature algorithm used to create this attribute certificate.
    `org.bouncycastle.asn1.x500.X500Name` | `getSubject()` Return the subject this certificate is for.
    `org.bouncycastle.asn1.x509.SubjectPublicKeyInfo` | `getSubjectPublicKeyInfo()` Return the SubjectPublicKeyInfo describing the public key this certificate is carrying.
    `int` | `getVersion()` Deprecated. use getVersionNumber
    `int` | `getVersionNumber()`
    `boolean` | `hasExtensions()` Return whether or not the holder's certificate contains extensions.
    `int` | `hashCode()`
    `boolean` | `isSignatureValid(ContentVerifierProvider verifierProvider)` Validate the signature on the certificate in this holder.
    `boolean` | `isValidOn(java.util.Date date)` Return whether or not this certificate is valid on a particular date.
    `org.bouncycastle.asn1.x509.Certificate` | `toASN1Structure()` Return the underlying ASN.1 structure for the certificate in this holder.

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

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

- - ### Constructor Detail

    - #### X509CertificateHolder

          public X509CertificateHolder(byte[] certEncoding)
                                throws java.io.IOException

      Create a X509CertificateHolder from the passed in bytes.
      Parameters:
        `certEncoding` - BER/DER encoding of the certificate.
      Throws:
        `java.io.IOException` - in the event of corrupted data, or an incorrect structure.

    - #### X509CertificateHolder

          public X509CertificateHolder(org.bouncycastle.asn1.x509.Certificate x509Certificate)

      Create a X509CertificateHolder from the passed in ASN.1 structure.
      Parameters:
        `x509Certificate` - an ASN.1 Certificate structure.

  - ### Method Detail

    - #### getVersionNumber

          public int getVersionNumber()

    - #### getVersion

          public int getVersion()

      Deprecated. use getVersionNumber

    - #### hasExtensions

          public boolean hasExtensions()

      Return whether or not the holder's certificate contains extensions.
      Returns:
        true if extension are present, false otherwise.

    - #### getExtension

          public org.bouncycastle.asn1.x509.Extension getExtension(org.bouncycastle.asn1.ASN1ObjectIdentifier oid)

      Look up the extension associated with the passed in OID.
      Parameters:
        `oid` - the OID of the extension of interest.
      Returns:
        the extension if present, null otherwise.

    - #### getExtensions

          public org.bouncycastle.asn1.x509.Extensions getExtensions()

      Return the extensions block associated with this certificate if there is one.
      Returns:
        the extensions block, null otherwise.

    - #### getExtensionOIDs

          public java.util.List getExtensionOIDs()

      Returns a list of ASN1ObjectIdentifier objects representing the OIDs of the extensions contained in this holder's certificate.
      Returns:
        a list of extension OIDs.

    - #### getCriticalExtensionOIDs

          public java.util.Set getCriticalExtensionOIDs()

      Returns a set of ASN1ObjectIdentifier objects representing the OIDs of the critical extensions contained in this holder's certificate.
      Returns:
        a set of critical extension OIDs.

    - #### getNonCriticalExtensionOIDs

          public java.util.Set getNonCriticalExtensionOIDs()

      Returns a set of ASN1ObjectIdentifier objects representing the OIDs of the non-critical extensions contained in this holder's certificate.
      Returns:
        a set of non-critical extension OIDs.

    - #### getSerialNumber

          public java.math.BigInteger getSerialNumber()

      Return the serial number of this attribute certificate.
      Returns:
        the serial number.

    - #### getIssuer

          public org.bouncycastle.asn1.x500.X500Name getIssuer()

      Return the issuer of this certificate.
      Returns:
        the certificate issuer.

    - #### getSubject

          public org.bouncycastle.asn1.x500.X500Name getSubject()

      Return the subject this certificate is for.
      Returns:
        the subject for the certificate.

    - #### getNotBefore

          public java.util.Date getNotBefore()

      Return the date before which this certificate is not valid.
      Returns:
        the start time for the certificate's validity period.

    - #### getNotAfter

          public java.util.Date getNotAfter()

      Return the date after which this certificate is not valid.
      Returns:
        the final time for the certificate's validity period.

    - #### getSubjectPublicKeyInfo

          public org.bouncycastle.asn1.x509.SubjectPublicKeyInfo getSubjectPublicKeyInfo()

      Return the SubjectPublicKeyInfo describing the public key this certificate is carrying.
      Returns:
        the public key ASN.1 structure contained in the certificate.

    - #### toASN1Structure

          public org.bouncycastle.asn1.x509.Certificate toASN1Structure()

      Return the underlying ASN.1 structure for the certificate in this holder.
      Returns:
        a Certificate object.

    - #### getSignatureAlgorithm

          public org.bouncycastle.asn1.x509.AlgorithmIdentifier getSignatureAlgorithm()

      Return the details of the signature algorithm used to create this attribute certificate.
      Returns:
        the AlgorithmIdentifier describing the signature algorithm used to create this attribute certificate.

    - #### getSignature

          public byte[] getSignature()

      Return the bytes making up the signature associated with this attribute certificate.
      Returns:
        the attribute certificate signature bytes.

    - #### isValidOn

          public boolean isValidOn(java.util.Date date)

      Return whether or not this certificate is valid on a particular date.
      Parameters:
        `date` - the date of interest.
      Returns:
        true if the certificate is valid, false otherwise.

    - #### isSignatureValid

          public boolean isSignatureValid(ContentVerifierProvider verifierProvider)
                                   throws CertException

      Validate the signature on the certificate in this holder.
      Parameters:
        `verifierProvider` - a ContentVerifierProvider that can generate a verifier for the signature.
      Returns:
        true if the signature is valid, false otherwise.
      Throws:
        `CertException` - if the signature cannot be processed or is inappropriate.

    - #### equals

          public boolean equals(java.lang.Object o)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### getEncoded

          public byte[] getEncoded()
                            throws java.io.IOException

      Return the ASN.1 encoding of this holder's certificate.
      Specified by:
        `getEncoded` in interface `org.bouncycastle.util.Encodable`
      Returns:
        a DER encoded byte array.
      Throws:
        `java.io.IOException` - if an encoding cannot be generated.