org.bouncycastle.x509

## Class X509V2AttributeCertificate

- java.lang.Object
- - org.bouncycastle.x509.X509V2AttributeCertificate

All Implemented Interfaces:
  java.security.cert.X509Extension, X509AttributeCertificate

    public class X509V2AttributeCertificate
    extends java.lang.Object
    implements X509AttributeCertificate

An implementation of a version 2 X.509 Attribute Certificate.

### Constructor Summary

Constructors
Constructor and Description
`X509V2AttributeCertificate(byte[] encoded)`
`X509V2AttributeCertificate(java.io.InputStream encIn)`

### Method Summary

Methods
`void` `checkValidity()`
`void` `checkValidity(java.util.Date date)`
`boolean` `equals(java.lang.Object o)`
`X509Attribute[]` `getAttributes()` Return the attributes contained in the attribute block in the certificate.
`X509Attribute[]` `getAttributes(java.lang.String oid)` Return the attributes with the same type as the passed in oid.
`java.util.Set` `getCriticalExtensionOIDs()`
`byte[]` `getEncoded()` Return an ASN.1 encoded byte array representing the attribute certificate.
`byte[]` `getExtensionValue(java.lang.String oid)`
`AttributeCertificateHolder` `getHolder()` Return the holder of the certificate.
`AttributeCertificateIssuer` `getIssuer()` Return the issuer details for the certificate.
`boolean[]` `getIssuerUniqueID()`
`java.util.Set` `getNonCriticalExtensionOIDs()`
`java.util.Date` `getNotAfter()` Return the date after which the certificate is not valid.
`java.util.Date` `getNotBefore()` Return the date before which the certificate is not valid.
`java.math.BigInteger` `getSerialNumber()` Return the serial number for the certificate.
`byte[]` `getSignature()`
`int` `getVersion()` Return the version number for the certificate.
`int` `hashCode()`
`boolean` `hasUnsupportedCriticalExtension()`
`void` `verify(java.security.PublicKey key, java.lang.String provider)`

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

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

### Constructor Detail

#### X509V2AttributeCertificate

    public X509V2AttributeCertificate(java.io.InputStream encIn)
                               throws java.io.IOException

Throws:
  `java.io.IOException`

#### X509V2AttributeCertificate

    public X509V2AttributeCertificate(byte[] encoded)
                               throws java.io.IOException

Throws:
  `java.io.IOException`

### Method Detail

#### getVersion

    public int getVersion()

Description copied from interface: `X509AttributeCertificate`
Return the version number for the certificate.

Specified by:
  `getVersion` in interface `X509AttributeCertificate`
Returns:
  the version number.

#### getSerialNumber

    public java.math.BigInteger getSerialNumber()

Description copied from interface: `X509AttributeCertificate`
Return the serial number for the certificate.

Specified by:
  `getSerialNumber` in interface `X509AttributeCertificate`
Returns:
  the serial number.

#### getHolder

    public AttributeCertificateHolder getHolder()

Description copied from interface: `X509AttributeCertificate`
Return the holder of the certificate.

Specified by:
  `getHolder` in interface `X509AttributeCertificate`
Returns:
  the holder.

#### getIssuer

    public AttributeCertificateIssuer getIssuer()

Description copied from interface: `X509AttributeCertificate`
Return the issuer details for the certificate.

Specified by:
  `getIssuer` in interface `X509AttributeCertificate`
Returns:
  the issuer details.

#### getNotBefore

    public java.util.Date getNotBefore()

Description copied from interface: `X509AttributeCertificate`
Return the date before which the certificate is not valid.

Specified by:
  `getNotBefore` in interface `X509AttributeCertificate`
Returns:
  the "not valid before" date.

#### getNotAfter

    public java.util.Date getNotAfter()

Description copied from interface: `X509AttributeCertificate`
Return the date after which the certificate is not valid.

Specified by:
  `getNotAfter` in interface `X509AttributeCertificate`
Returns:
  the "not valid afer" date.

#### getIssuerUniqueID

    public boolean[] getIssuerUniqueID()

Specified by:
  `getIssuerUniqueID` in interface `X509AttributeCertificate`

#### checkValidity

    public void checkValidity()
                       throws java.security.cert.CertificateExpiredException,
                              java.security.cert.CertificateNotYetValidException

Specified by:
  `checkValidity` in interface `X509AttributeCertificate`
Throws:
  `java.security.cert.CertificateExpiredException`
  `java.security.cert.CertificateNotYetValidException`

#### checkValidity

    public void checkValidity(java.util.Date date)
                       throws java.security.cert.CertificateExpiredException,
                              java.security.cert.CertificateNotYetValidException

Specified by:
  `checkValidity` in interface `X509AttributeCertificate`
Throws:
  `java.security.cert.CertificateExpiredException`
  `java.security.cert.CertificateNotYetValidException`

#### getSignature

    public byte[] getSignature()

Specified by:
  `getSignature` in interface `X509AttributeCertificate`

#### verify

    public final void verify(java.security.PublicKey key,
              java.lang.String provider)
                      throws java.security.cert.CertificateException,
                             java.security.NoSuchAlgorithmException,
                             java.security.InvalidKeyException,
                             java.security.NoSuchProviderException,
                             java.security.SignatureException

Specified by:
  `verify` in interface `X509AttributeCertificate`
Throws:
  `java.security.cert.CertificateException`
  `java.security.NoSuchAlgorithmException`
  `java.security.InvalidKeyException`
  `java.security.NoSuchProviderException`
  `java.security.SignatureException`

#### getEncoded

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

Description copied from interface: `X509AttributeCertificate`
Return an ASN.1 encoded byte array representing the attribute certificate.

Specified by:
  `getEncoded` in interface `X509AttributeCertificate`
Returns:
  an ASN.1 encoded byte array.
Throws:
  `java.io.IOException` - if the certificate cannot be encoded.

#### getExtensionValue

    public byte[] getExtensionValue(java.lang.String oid)

Specified by:
  `getExtensionValue` in interface `java.security.cert.X509Extension`

#### getNonCriticalExtensionOIDs

    public java.util.Set getNonCriticalExtensionOIDs()

Specified by:
  `getNonCriticalExtensionOIDs` in interface `java.security.cert.X509Extension`

#### getCriticalExtensionOIDs

    public java.util.Set getCriticalExtensionOIDs()

Specified by:
  `getCriticalExtensionOIDs` in interface `java.security.cert.X509Extension`

#### hasUnsupportedCriticalExtension

    public boolean hasUnsupportedCriticalExtension()

Specified by:
  `hasUnsupportedCriticalExtension` in interface `java.security.cert.X509Extension`

#### getAttributes

    public X509Attribute[] getAttributes()

Description copied from interface: `X509AttributeCertificate`
Return the attributes contained in the attribute block in the certificate.

Specified by:
  `getAttributes` in interface `X509AttributeCertificate`
Returns:
  an array of attributes.

#### getAttributes

    public X509Attribute[] getAttributes(java.lang.String oid)

Description copied from interface: `X509AttributeCertificate`
Return the attributes with the same type as the passed in oid.

Specified by:
  `getAttributes` in interface `X509AttributeCertificate`
Parameters:
  `oid` - the object identifier we wish to match.
Returns:
  an array of matched attributes, null if there is no match.

#### 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`