Class X509CertificateHolder

java.lang.Object
org.bouncycastle.cert.X509CertificateHolder
Direct Known Subclasses:
JcaX509CertificateHolder

public class X509CertificateHolder
extends Object
Holding class for an X.509 Certificate structure.
  • Constructor Details

    • X509CertificateHolder

      public X509CertificateHolder​(byte[] certEncoding) throws IOException
      Create a X509CertificateHolder from the passed in bytes.
      Parameters:
      certEncoding - BER/DER encoding of the certificate.
      Throws:
      IOException - in the event of corrupted data, or an incorrect structure.
    • X509CertificateHolder

      public X509CertificateHolder​(Certificate x509Certificate)
      Create a X509CertificateHolder from the passed in ASN.1 structure.
      Parameters:
      x509Certificate - an ASN.1 Certificate structure.
  • Method Details

    • 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 Extension getExtension​(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 Extensions getExtensions()
      Return the extensions block associated with this certificate if there is one.
      Returns:
      the extensions block, null otherwise.
    • getExtensionOIDs

      public 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 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 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 BigInteger getSerialNumber()
      Return the serial number of this attribute certificate.
      Returns:
      the serial number.
    • getIssuer

      public X500Name getIssuer()
      Return the issuer of this certificate.
      Returns:
      the certificate issuer.
    • getSubject

      public X500Name getSubject()
      Return the subject this certificate is for.
      Returns:
      the subject for the certificate.
    • getNotBefore

      public Date getNotBefore()
      Return the date before which this certificate is not valid.
      Returns:
      the start time for the certificate's validity period.
    • getNotAfter

      public Date getNotAfter()
      Return the date after which this certificate is not valid.
      Returns:
      the final time for the certificate's validity period.
    • getSubjectPublicKeyInfo

      public 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 Certificate toASN1Structure()
      Return the underlying ASN.1 structure for the certificate in this holder.
      Returns:
      a X509CertificateStructure object.
    • getSignatureAlgorithm

      public 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​(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​(Object o)
      Description copied from class: Object
      Compares this instance with the specified object and indicates if they are equal. In order to be equal, o must represent the same object as this instance using a class-specific comparison. The general contract is that this comparison should be reflexive, symmetric, and transitive. Also, no object reference other than null is equal to null.

      The default implementation returns true only if this == o. See Writing a correct equals method if you intend implementing your own equals method.

      The general contract for the equals and Object.hashCode() methods is that if equals returns true for any two objects, then hashCode() must return the same value for these objects. This means that subclasses of Object usually override either both methods or neither of them.

      Overrides:
      equals in class Object
      Parameters:
      o - the object to compare this instance with.
      Returns:
      true if the specified object is equal to this Object; false otherwise.
      See Also:
      Object.hashCode()
    • hashCode

      public int hashCode()
      Description copied from class: Object
      Returns an integer hash code for this object. By contract, any two objects for which Object.equals(java.lang.Object) returns true must return the same hash code value. This means that subclasses of Object usually override both methods or neither method.

      Note that hash values must not change over time unless information used in equals comparisons also changes.

      See Writing a correct hashCode method if you intend implementing your own hashCode method.

      Overrides:
      hashCode in class Object
      Returns:
      this object's hash code.
      See Also:
      Object.equals(java.lang.Object)
    • getEncoded

      public byte[] getEncoded() throws IOException
      Return the ASN.1 encoding of this holder's certificate.
      Returns:
      a DER encoded byte array.
      Throws:
      IOException - if an encoding cannot be generated.