Package org.bouncycastle.cert
Class X509AttributeCertificateHolder
java.lang.Object
org.bouncycastle.cert.X509AttributeCertificateHolder
public class X509AttributeCertificateHolder extends Object
Holding class for an X.509 AttributeCertificate structure.
-
Constructor Summary
Constructors Constructor Description X509AttributeCertificateHolder(byte[] certEncoding)Create a X509AttributeCertificateHolder from the passed in bytes.X509AttributeCertificateHolder(AttributeCertificate attrCert)Create a X509AttributeCertificateHolder from the passed in ASN.1 structure. -
Method Summary
Modifier and Type Method Description booleanequals(Object o)Compares this instance with the specified object and indicates if they are equal.Attribute[]getAttributes()Return the attributes, if any associated with this request.Attribute[]getAttributes(ASN1ObjectIdentifier type)Return an array of attributes matching the passed in type OID.SetgetCriticalExtensionOIDs()Returns a set of ASN1ObjectIdentifier objects representing the OIDs of the critical extensions contained in this holder's attribute certificate.byte[]getEncoded()Return the ASN.1 encoding of this holder's attribute certificate.ExtensiongetExtension(ASN1ObjectIdentifier oid)Look up the extension associated with the passed in OID.ListgetExtensionOIDs()Returns a list of ASN1ObjectIdentifier objects representing the OIDs of the extensions contained in this holder's attribute certificate.ExtensionsgetExtensions()Return the extensions block associated with this certificate if there is one.AttributeCertificateHoldergetHolder()Return the holder details for this attribute certificate.AttributeCertificateIssuergetIssuer()Return the issuer details for this attribute certificate.boolean[]getIssuerUniqueID()SetgetNonCriticalExtensionOIDs()Returns a set of ASN1ObjectIdentifier objects representing the OIDs of the non-critical extensions contained in this holder's attribute certificate.DategetNotAfter()Return the date after which this attribute certificate is not valid.DategetNotBefore()Return the date before which this attribute certificate is not valid.BigIntegergetSerialNumber()Return the serial number of this attribute certificate.byte[]getSignature()Return the bytes making up the signature associated with this attribute certificate.AlgorithmIdentifiergetSignatureAlgorithm()Return the details of the signature algorithm used to create this attribute certificate.intgetVersion()booleanhasExtensions()Return whether or not the holder's attribute certificate contains extensions.inthashCode()Returns an integer hash code for this object.booleanisSignatureValid(ContentVerifierProvider verifierProvider)Validate the signature on the attribute certificate in this holder.booleanisValidOn(Date date)Return whether or not this attribute certificate is valid on a particular date.AttributeCertificatetoASN1Structure()Return the underlying ASN.1 structure for the attribute certificate in this holder.
-
Constructor Details
-
X509AttributeCertificateHolder
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
Create a X509AttributeCertificateHolder from the passed in ASN.1 structure.- Parameters:
attrCert- an ASN.1 AttributeCertificate structure.
-
-
Method Details
-
getEncoded
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
Return the serial number of this attribute certificate.- Returns:
- the serial number.
-
getHolder
Return the holder details for this attribute certificate.- Returns:
- this attribute certificate's holder structure.
-
getIssuer
Return the issuer details for this attribute certificate.- Returns:
- this attribute certificate's issuer structure,
-
getNotBefore
Return the date before which this attribute certificate is not valid.- Returns:
- the start date for the attribute certificate's validity period.
-
getNotAfter
Return the date after which this attribute certificate is not valid.- Returns:
- the final date for the attribute certificate's validity period.
-
getAttributes
Return the attributes, if any associated with this request.- Returns:
- an array of Attribute, zero length if none present.
-
getAttributes
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
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
Return the extensions block associated with this certificate if there is one.- Returns:
- the extensions block, null otherwise.
-
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
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
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
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
Return the underlying ASN.1 structure for the attribute certificate in this holder.- Returns:
- a AttributeCertificate object.
-
isValidOn
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
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
Description copied from class:ObjectCompares this instance with the specified object and indicates if they are equal. In order to be equal,omust 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
trueonly ifthis == o. See Writing a correctequalsmethod if you intend implementing your ownequalsmethod.The general contract for the
equalsandObject.hashCode()methods is that ifequalsreturnstruefor any two objects, thenhashCode()must return the same value for these objects. This means that subclasses ofObjectusually override either both methods or neither of them.- Overrides:
equalsin classObject- Parameters:
o- the object to compare this instance with.- Returns:
trueif the specified object is equal to thisObject;falseotherwise.- See Also:
Object.hashCode()
-
hashCode
public int hashCode()Description copied from class:ObjectReturns an integer hash code for this object. By contract, any two objects for whichObject.equals(java.lang.Object)returnstruemust return the same hash code value. This means that subclasses ofObjectusually 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
hashCodemethod if you intend implementing your ownhashCodemethod.- Overrides:
hashCodein classObject- Returns:
- this object's hash code.
- See Also:
Object.equals(java.lang.Object)
-