Package org.bouncycastle.cert
Class AttributeCertificateHolder
- java.lang.Object
-
- org.bouncycastle.cert.AttributeCertificateHolder
-
- All Implemented Interfaces:
java.lang.Cloneable,org.bouncycastle.util.Selector
public class AttributeCertificateHolder extends java.lang.Object implements org.bouncycastle.util.SelectorThe Holder object.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, org.bouncycastle.asn1.ASN1ObjectIdentifier digestAlgorithm, org.bouncycastle.asn1.ASN1ObjectIdentifier otherObjectTypeID, byte[] objectDigest)Constructs a holder for v2 attribute certificates with a hash value for some type of object.AttributeCertificateHolder(org.bouncycastle.asn1.x500.X500Name principal)Create a holder using the entityName option based on the passed in principal.AttributeCertificateHolder(org.bouncycastle.asn1.x500.X500Name issuerName, java.math.BigInteger serialNumber)Create a holder using the baseCertificateID element.AttributeCertificateHolder(X509CertificateHolder cert)Create a holder using the baseCertificateID option based on the passed in associated certificate,
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectclone()booleanequals(java.lang.Object obj)org.bouncycastle.asn1.x509.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.org.bouncycastle.asn1.x500.X500Name[]getEntityNames()Return any principal objects inside the attribute certificate holder entity names field.org.bouncycastle.asn1.x500.X500Name[]getIssuer()Return the principals associated with the issuer attached to this holderbyte[]getObjectDigest()Returns the hash if an object digest info is used.org.bouncycastle.asn1.ASN1ObjectIdentifiergetOtherObjectTypeID()Returns the digest algorithm ID if an object digest info is used.java.math.BigIntegergetSerialNumber()Return the serial number associated with the issuer attached to this holder.inthashCode()booleanmatch(java.lang.Object obj)static voidsetDigestCalculatorProvider(DigestCalculatorProvider digCalcProvider)Set a digest calculator provider to be used if matches are attempted using ObjectDigestInfo,
-
-
-
Constructor Detail
-
AttributeCertificateHolder
public AttributeCertificateHolder(org.bouncycastle.asn1.x500.X500Name issuerName, java.math.BigInteger serialNumber)Create a holder using the baseCertificateID element.- Parameters:
issuerName- name of associated certificate's issuer.serialNumber- serial number of associated certificate.
-
AttributeCertificateHolder
public AttributeCertificateHolder(X509CertificateHolder cert)
Create a holder using the baseCertificateID option based on the passed in associated certificate,- Parameters:
cert- the certificate to be associated with this holder.
-
AttributeCertificateHolder
public AttributeCertificateHolder(org.bouncycastle.asn1.x500.X500Name principal)
Create a holder using the entityName option based on the passed in principal.- Parameters:
principal- the entityName to be associated with the attribute certificate.
-
AttributeCertificateHolder
public AttributeCertificateHolder(int digestedObjectType, org.bouncycastle.asn1.ASN1ObjectIdentifier digestAlgorithm, org.bouncycastle.asn1.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 Detail
-
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
public org.bouncycastle.asn1.x509.AlgorithmIdentifier 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
public org.bouncycastle.asn1.ASN1ObjectIdentifier 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
public org.bouncycastle.asn1.x500.X500Name[] 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
public org.bouncycastle.asn1.x500.X500Name[] getIssuer()
Return the principals associated with the issuer attached to this holder- Returns:
- an array of principals, null if no BaseCertificateID is set.
-
getSerialNumber
public java.math.BigInteger 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
public java.lang.Object clone()
- Specified by:
clonein interfaceorg.bouncycastle.util.Selector- Overrides:
clonein classjava.lang.Object
-
match
public boolean match(java.lang.Object obj)
- Specified by:
matchin interfaceorg.bouncycastle.util.Selector
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
setDigestCalculatorProvider
public static void setDigestCalculatorProvider(DigestCalculatorProvider digCalcProvider)
Set a digest calculator provider to be used if matches are attempted using ObjectDigestInfo,- Parameters:
digCalcProvider- a provider of digest calculators.
-
-