Class X509AttributeCertificateHolder

java.lang.Object
org.bouncycastle.cert.X509AttributeCertificateHolder

public class X509AttributeCertificateHolder
extends Object
Holding class for an X.509 AttributeCertificate structure.
  • Constructor Details

    • X509AttributeCertificateHolder

      public X509AttributeCertificateHolder​(byte[] certEncoding) throws IOException
      Create a X509AttributeCertificateHolder 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.
    • X509AttributeCertificateHolder

      public X509AttributeCertificateHolder​(AttributeCertificate attrCert)
      Create a X509AttributeCertificateHolder from the passed in ASN.1 structure.
      Parameters:
      attrCert - an ASN.1 AttributeCertificate structure.
  • Method Details

    • getEncoded

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

      public int getVersion()
    • getSerialNumber

      public BigInteger getSerialNumber()
      Return the serial number of this attribute certificate.
      Returns:
      the serial number.
    • getHolder

      public AttributeCertificateHolder getHolder()
      Return the holder details for this attribute certificate.
      Returns:
      this attribute certificate's holder structure.
    • getIssuer

      public AttributeCertificateIssuer getIssuer()
      Return the issuer details for this attribute certificate.
      Returns:
      this attribute certificate's issuer structure,
    • getNotBefore

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

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

      public Attribute[] getAttributes()
      Return the attributes, if any associated with this request.
      Returns:
      an array of Attribute, zero length if none present.
    • getAttributes

      public Attribute[] getAttributes​(ASN1ObjectIdentifier type)
      Return an array of attributes matching the passed in type OID.
      Parameters:
      type - the type of the attribute being looked for.
      Returns:
      an array of Attribute of the requested type, zero length if none present.
    • hasExtensions

      public boolean hasExtensions()
      Return whether or not the holder's attribute 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 attribute 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 attribute 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 attribute certificate.
      Returns:
      a set of non-critical extension OIDs.
    • getIssuerUniqueID

      public boolean[] getIssuerUniqueID()
    • 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.
    • toASN1Structure

      public AttributeCertificate toASN1Structure()
      Return the underlying ASN.1 structure for the attribute certificate in this holder.
      Returns:
      a AttributeCertificate object.
    • isValidOn

      public boolean isValidOn​(Date date)
      Return whether or not this attribute certificate is valid on a particular date.
      Parameters:
      date - the date of interest.
      Returns:
      true if the attribute certificate is valid, false otherwise.
    • isSignatureValid

      public boolean isSignatureValid​(ContentVerifierProvider verifierProvider) throws CertException
      Validate the signature on the attribute 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)