Class AttributeCertificateHolder
public class AttributeCertificateHolder extends Object implements Selector
Holder ::= SEQUENCE {
baseCertificateID [0] IssuerSerial OPTIONAL,
-- the issuer and serial number of
-- the holder's Public Key Certificate
entityName [1] GeneralNames OPTIONAL,
-- the name of the claimant or role
objectDigestInfo [2] ObjectDigestInfo OPTIONAL
-- used to directly authenticate the holder,
-- for example, an executable
}
Note: If objectDigestInfo comparisons are to be carried out the static method setDigestCalculatorProvider must be called once to configure the class to do the necessary calculations.
-
Constructor Summary
Constructors Constructor Description AttributeCertificateHolder(int digestedObjectType, ASN1ObjectIdentifier digestAlgorithm, ASN1ObjectIdentifier otherObjectTypeID, byte[] objectDigest)Constructs a holder for v2 attribute certificates with a hash value for some type of object.AttributeCertificateHolder(X500Name principal)AttributeCertificateHolder(X500Name issuerName, BigInteger serialNumber)AttributeCertificateHolder(X509CertificateHolder cert) -
Method Summary
Modifier and Type Method Description Objectclone()Creates and returns a copy of thisObject.booleanequals(Object obj)Compares this instance with the specified object and indicates if they are equal.AlgorithmIdentifiergetDigestAlgorithm()Returns algorithm identifier for the digest used if ObjectDigestInfo is present.intgetDigestedObjectType()Returns the digest object type if an object digest info is used.X500Name[]getEntityNames()Return any principal objects inside the attribute certificate holder entity names field.X500Name[]getIssuer()Return the principals associated with the issuer attached to this holderbyte[]getObjectDigest()Returns the hash if an object digest info is used.ASN1ObjectIdentifiergetOtherObjectTypeID()Returns the digest algorithm ID if an object digest info is used.BigIntegergetSerialNumber()Return the serial number associated with the issuer attached to this holder.inthashCode()Returns an integer hash code for this object.booleanmatch(Object obj)static voidsetDigestCalculatorProvider(DigestCalculatorProvider digCalcProvider)Set a digest calculator provider to be used if matches are attempted using ObjectDigestInfo,
-
Constructor Details
-
AttributeCertificateHolder
-
AttributeCertificateHolder
-
AttributeCertificateHolder
-
AttributeCertificateHolder
public AttributeCertificateHolder(int digestedObjectType, ASN1ObjectIdentifier digestAlgorithm, ASN1ObjectIdentifier otherObjectTypeID, byte[] objectDigest)Constructs a holder for v2 attribute certificates with a hash value for some type of object.digestedObjectTypecan be one of the following:- 0 - publicKey - A hash of the public key of the holder must be passed.
- 1 - publicKeyCert - A hash of the public key certificate of the holder must be passed.
- 2 - otherObjectDigest - A hash of some other object type must be
passed.
otherObjectTypeIDmust not be empty.
This cannot be used if a v1 attribute certificate is used.
- Parameters:
digestedObjectType- The digest object type.digestAlgorithm- The algorithm identifier for the hash.otherObjectTypeID- The object type ID ifdigestedObjectTypeisotherObjectDigest.objectDigest- The hash value.
-
-
Method Details
-
getDigestedObjectType
public int getDigestedObjectType()Returns the digest object type if an object digest info is used.- 0 - publicKey - A hash of the public key of the holder must be passed.
- 1 - publicKeyCert - A hash of the public key certificate of the holder must be passed.
- 2 - otherObjectDigest - A hash of some other object type must be
passed.
otherObjectTypeIDmust not be empty.
- Returns:
- The digest object type or -1 if no object digest info is set.
-
getDigestAlgorithm
Returns algorithm identifier for the digest used if ObjectDigestInfo is present.- Returns:
- digest AlgorithmIdentifier or
nullif ObjectDigestInfo is absent.
-
getObjectDigest
public byte[] getObjectDigest()Returns the hash if an object digest info is used.- Returns:
- The hash or
nullif ObjectDigestInfo is absent.
-
getOtherObjectTypeID
Returns the digest algorithm ID if an object digest info is used.- Returns:
- The digest algorithm ID or
nullif no object digest info is set.
-
getEntityNames
Return any principal objects inside the attribute certificate holder entity names field.- Returns:
- an array of Principal objects (usually X500Principal), null if no entity names field is set.
-
getIssuer
Return the principals associated with the issuer attached to this holder- Returns:
- an array of principals, null if no BaseCertificateID is set.
-
getSerialNumber
Return the serial number associated with the issuer attached to this holder.- Returns:
- the certificate serial number, null if no BaseCertificateID is set.
-
clone
Description copied from class:ObjectCreates and returns a copy of thisObject. The default implementation returns a so-called "shallow" copy: It creates a new instance of the same class and then copies the field values (including object references) from this instance to the new instance. A "deep" copy, in contrast, would also recursively clone nested objects. A subclass that needs to implement this kind of cloning should callsuper.clone()to create the new instance and then create deep copies of the nested, mutable objects. -
match
-
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:
obj- 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)
-
setDigestCalculatorProvider
Set a digest calculator provider to be used if matches are attempted using ObjectDigestInfo,- Parameters:
digCalcProvider- a provider of digest calculators.
-