org.bouncycastle.jce.provider

## Class X509CertificateObject

- java.lang.Object
- - java.security.cert.Certificate
  - - java.security.cert.X509Certificate
    - - org.bouncycastle.jce.provider.X509CertificateObject

All Implemented Interfaces:
  java.io.Serializable, java.security.cert.X509Extension, PKCS12BagAttributeCarrier

    public class X509CertificateObject
    extends java.security.cert.X509Certificate
    implements PKCS12BagAttributeCarrier

See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class java.security.cert.Certificate

`java.security.cert.Certificate.CertificateRep`

### Constructor Summary

Constructors
Constructor and Description
`X509CertificateObject(X509CertificateStructure c)`

### Method Summary

Methods
`void` `checkValidity()`
`void` `checkValidity(java.util.Date date)`
`boolean` `equals(java.lang.Object o)`
`DEREncodable` `getBagAttribute(DERObjectIdentifier oid)`
`java.util.Enumeration` `getBagAttributeKeys()`
`int` `getBasicConstraints()`
`java.util.Set` `getCriticalExtensionOIDs()`
`byte[]` `getEncoded()`
`java.util.List` `getExtendedKeyUsage()`
`byte[]` `getExtensionValue(java.lang.String oid)`
`java.security.Principal` `getIssuerDN()`
`boolean[]` `getIssuerUniqueID()`
`javax.security.auth.x500.X500Principal` `getIssuerX500Principal()`
`boolean[]` `getKeyUsage()`
`java.util.Set` `getNonCriticalExtensionOIDs()`
`java.util.Date` `getNotAfter()`
`java.util.Date` `getNotBefore()`
`java.security.PublicKey` `getPublicKey()`
`java.math.BigInteger` `getSerialNumber()`
`java.lang.String` `getSigAlgName()` return a more "meaningful" representation for the signature algorithm used in the certficate.
`java.lang.String` `getSigAlgOID()` return the object identifier for the signature.
`byte[]` `getSigAlgParams()` return the signature parameters, or null if there aren't any.
`byte[]` `getSignature()`
`java.security.Principal` `getSubjectDN()`
`boolean[]` `getSubjectUniqueID()`
`javax.security.auth.x500.X500Principal` `getSubjectX500Principal()`
`byte[]` `getTBSCertificate()`
`int` `getVersion()`
`int` `hashCode()`
`boolean` `hasUnsupportedCriticalExtension()`
`void` `setBagAttribute(DERObjectIdentifier oid, DEREncodable attribute)`
`java.lang.String` `toString()`
`void` `verify(java.security.PublicKey key)`
`void` `verify(java.security.PublicKey key, java.lang.String sigProvider)`

### Methods inherited from class java.security.cert.X509Certificate

`getIssuerAlternativeNames, getSubjectAlternativeNames`

### Methods inherited from class java.security.cert.Certificate

`getType, writeReplace`

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

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

### Constructor Detail

#### X509CertificateObject

    public X509CertificateObject(X509CertificateStructure c)
                          throws java.security.cert.CertificateParsingException

Throws:
  `java.security.cert.CertificateParsingException`

### Method Detail

#### checkValidity

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

Specified by:
  `checkValidity` in class `java.security.cert.X509Certificate`
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 class `java.security.cert.X509Certificate`
Throws:
  `java.security.cert.CertificateExpiredException`
  `java.security.cert.CertificateNotYetValidException`

#### getVersion

    public int getVersion()

Specified by:
  `getVersion` in class `java.security.cert.X509Certificate`

#### getSerialNumber

    public java.math.BigInteger getSerialNumber()

Specified by:
  `getSerialNumber` in class `java.security.cert.X509Certificate`

#### getIssuerDN

    public java.security.Principal getIssuerDN()

Specified by:
  `getIssuerDN` in class `java.security.cert.X509Certificate`

#### getIssuerX500Principal

    public javax.security.auth.x500.X500Principal getIssuerX500Principal()

Overrides:
  `getIssuerX500Principal` in class `java.security.cert.X509Certificate`

#### getSubjectDN

    public java.security.Principal getSubjectDN()

Specified by:
  `getSubjectDN` in class `java.security.cert.X509Certificate`

#### getSubjectX500Principal

    public javax.security.auth.x500.X500Principal getSubjectX500Principal()

Overrides:
  `getSubjectX500Principal` in class `java.security.cert.X509Certificate`

#### getNotBefore

    public java.util.Date getNotBefore()

Specified by:
  `getNotBefore` in class `java.security.cert.X509Certificate`

#### getNotAfter

    public java.util.Date getNotAfter()

Specified by:
  `getNotAfter` in class `java.security.cert.X509Certificate`

#### getTBSCertificate

    public byte[] getTBSCertificate()
                             throws java.security.cert.CertificateEncodingException

Specified by:
  `getTBSCertificate` in class `java.security.cert.X509Certificate`
Throws:
  `java.security.cert.CertificateEncodingException`

#### getSignature

    public byte[] getSignature()

Specified by:
  `getSignature` in class `java.security.cert.X509Certificate`

#### getSigAlgName

    public java.lang.String getSigAlgName()

return a more "meaningful" representation for the signature algorithm used in the certficate.

Specified by:
  `getSigAlgName` in class `java.security.cert.X509Certificate`

#### getSigAlgOID

    public java.lang.String getSigAlgOID()

return the object identifier for the signature.

Specified by:
  `getSigAlgOID` in class `java.security.cert.X509Certificate`

#### getSigAlgParams

    public byte[] getSigAlgParams()

return the signature parameters, or null if there aren't any.

Specified by:
  `getSigAlgParams` in class `java.security.cert.X509Certificate`

#### getIssuerUniqueID

    public boolean[] getIssuerUniqueID()

Specified by:
  `getIssuerUniqueID` in class `java.security.cert.X509Certificate`

#### getSubjectUniqueID

    public boolean[] getSubjectUniqueID()

Specified by:
  `getSubjectUniqueID` in class `java.security.cert.X509Certificate`

#### getKeyUsage

    public boolean[] getKeyUsage()

Specified by:
  `getKeyUsage` in class `java.security.cert.X509Certificate`

#### getExtendedKeyUsage

    public java.util.List getExtendedKeyUsage()
                                       throws java.security.cert.CertificateParsingException

Overrides:
  `getExtendedKeyUsage` in class `java.security.cert.X509Certificate`
Throws:
  `java.security.cert.CertificateParsingException`

#### getBasicConstraints

    public int getBasicConstraints()

Specified by:
  `getBasicConstraints` in class `java.security.cert.X509Certificate`

#### getCriticalExtensionOIDs

    public java.util.Set getCriticalExtensionOIDs()

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

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

#### hasUnsupportedCriticalExtension

    public boolean hasUnsupportedCriticalExtension()

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

#### getPublicKey

    public java.security.PublicKey getPublicKey()

Specified by:
  `getPublicKey` in class `java.security.cert.Certificate`

#### getEncoded

    public byte[] getEncoded()
                      throws java.security.cert.CertificateEncodingException

Specified by:
  `getEncoded` in class `java.security.cert.Certificate`
Throws:
  `java.security.cert.CertificateEncodingException`

#### equals

    public boolean equals(java.lang.Object o)

Overrides:
  `equals` in class `java.security.cert.Certificate`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `java.security.cert.Certificate`

#### setBagAttribute

    public void setBagAttribute(DERObjectIdentifier oid,
                       DEREncodable attribute)

Specified by:
  `setBagAttribute` in interface `PKCS12BagAttributeCarrier`

#### getBagAttribute

    public DEREncodable getBagAttribute(DERObjectIdentifier oid)

Specified by:
  `getBagAttribute` in interface `PKCS12BagAttributeCarrier`

#### getBagAttributeKeys

    public java.util.Enumeration getBagAttributeKeys()

Specified by:
  `getBagAttributeKeys` in interface `PKCS12BagAttributeCarrier`

#### toString

    public java.lang.String toString()

Specified by:
  `toString` in class `java.security.cert.Certificate`

#### verify

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

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

#### verify

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

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