Top Description Fields Constructors Methods
org.bouncycastle.x509

public Class AttributeCertificateHolder

extends Object
implements CertSelector, Selector
Class Inheritance
All Implemented Interfaces
org.bouncycastle.util.Selector, java.lang.Cloneable, java.security.cert.CertSelector
Imports
java.io.IOException, java.math.BigInteger, java.security.MessageDigest, .Principal, java.security.cert.CertSelector, .Certificate, .CertificateEncodingException, .CertificateParsingException, .X509Certificate, java.util.ArrayList, .List, javax.security.auth.x500.X500Principal, org.bouncycastle.asn1.ASN1Encodable, .ASN1Integer, .ASN1ObjectIdentifier, .ASN1Sequence, .DERSequence, org.bouncycastle.asn1.x509.AlgorithmIdentifier, .GeneralName, .GeneralNames, .Holder, .IssuerSerial, .ObjectDigestInfo, org.bouncycastle.jce.PrincipalUtil, .X509Principal, org.bouncycastle.util.Arrays, .Selector

Deprecated

use org.bouncycastle.cert.AttributeCertificateHolder

The 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
         }

Field Summary

Modifier and TypeField and Description
pack-priv final Holder

Constructor Summary

AccessConstructor and Description
pack-priv
public
AttributeCertificateHolder(X509Principal issuerName, BigInteger serialNumber)

Deprecated as a consequence of X509Principal being deprecated.
public
public
public
AttributeCertificateHolder(X509Principal principal)

Deprecated as a consequence of X509Principal being deprecated.
public
public
AttributeCertificateHolder(int
The digest object type.
digestedObjectType
,
String
The algorithm identifier for the hash.
digestAlgorithm
,
String
The object type ID if digestedObjectType is otherObjectDigest.
otherObjectTypeID
,
byte[]
The hash value.
objectDigest
)

Constructs a holder for v2 attribute certificates with a hash value for some type of object.

Method Summary

Modifier and TypeMethod and Description
public Object
public boolean
equals(Object
the reference object with which to compare.
obj
)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.
private GeneralNames
generateGeneralNames(X509Principal principal)

Deprecated as a consequence of X509Principal being deprecated.
public String

Returns:

The other object type ID or null if no object digest info is set.
getDigestAlgorithm
()

Returns the other object type ID if an object digest info is used.

public int

Returns:

The digest object type or -1 if no object digest info is set.
getDigestedObjectType
()

Returns the digest object type if an object digest info is used.

public Principal[]

Returns:

an array of Principal objects (usually X500Principal), null if no entity names field is set.
getEntityNames
()

Return any principal objects inside the attribute certificate holder entity names field.

public Principal[]

Returns:

an array of principals, null if no BaseCertificateID is set.
getIssuer
()

Return the principals associated with the issuer attached to this holder

private Object[]
public byte[]

Returns:

The hash or null if no object digest info is set.
getObjectDigest
()

Returns the hash if an object digest info is used.

public String

Returns:

The digest algorithm ID or null if no object digest info is set.
getOtherObjectTypeID
()

Returns the digest algorithm ID if an object digest info is used.

private Principal[]
public BigInteger

Returns:

the certificate serial number, null if no BaseCertificateID is set.
getSerialNumber
()

Return the serial number associated with the issuer attached to this holder.

public int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for the object.
public boolean
match(Certificate
the Certificate to be checked
cert
)

Implements java.security.cert.CertSelector.match, org.bouncycastle.util.Selector.match.

Decides whether a Certificate should be selected.
public boolean
match(Object
the object to be matched.
obj
)

Implements org.bouncycastle.util.Selector.match.

Match the passed in object, returning true if it would be selected by this selector, false otherwise.
private boolean
matchesDN(X509Principal subject, GeneralNames targets)

Deprecated as a consequence of X509Principal being deprecated.
Inherited from java.lang.Object:
finalizegetClassnotifynotifyAlltoStringwaitwaitwait

Field Detail

holderback to summary
pack-priv final Holder holder

Constructor Detail

AttributeCertificateHolderback to summary
pack-priv AttributeCertificateHolder(ASN1Sequence seq)
AttributeCertificateHolderback to summary
public AttributeCertificateHolder(X509Principal issuerName, BigInteger serialNumber)

Deprecated

as a consequence of X509Principal being deprecated. See corresponding docs for further information.

AttributeCertificateHolderback to summary
public AttributeCertificateHolder(X500Principal issuerName, BigInteger serialNumber)
AttributeCertificateHolderback to summary
public AttributeCertificateHolder(X509Certificate cert) throws CertificateParsingException
AttributeCertificateHolderback to summary
public AttributeCertificateHolder(X509Principal principal)

Deprecated

as a consequence of X509Principal being deprecated. See corresponding docs for further information.

AttributeCertificateHolderback to summary
public AttributeCertificateHolder(X500Principal principal)
AttributeCertificateHolderback to summary
public AttributeCertificateHolder(int digestedObjectType, String digestAlgorithm, String otherObjectTypeID, byte[] objectDigest)

Constructs a holder for v2 attribute certificates with a hash value for some type of object.

digestedObjectType can 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. otherObjectTypeID must not be empty.

This cannot be used if a v1 attribute certificate is used.

Parameters
digestedObjectType:int

The digest object type.

digestAlgorithm:String

The algorithm identifier for the hash.

otherObjectTypeID:String

The object type ID if digestedObjectType is otherObjectDigest.

objectDigest:byte[]

The hash value.

Method Detail

cloneback to summary
public Object clone()

Overrides java.lang.Object.clone.

Implements java.security.cert.CertSelector.clone, org.bouncycastle.util.Selector.clone.

Doc from java.security.cert.CertSelector.clone.

Makes a copy of this CertSelector. Changes to the copy will not affect the original and vice versa.

Returns:Object

a copy of this CertSelector

equalsback to summary
public boolean equals(Object obj)

Overrides java.lang.Object.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
obj:Object

the reference object with which to compare.

Returns:boolean

true if this object is the same as the obj argument; false otherwise.

generateGeneralNamesback to summary
private GeneralNames generateGeneralNames(X509Principal principal)

Deprecated

as a consequence of X509Principal being deprecated. See corresponding docs for further information.

getDigestAlgorithmback to summary
public String getDigestAlgorithm()

Returns the other object type ID if an object digest info is used.

Returns:String

The other object type ID or null if no object digest info is set.

getDigestedObjectTypeback to summary
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. otherObjectTypeID must not be empty.
Returns:int

The digest object type or -1 if no object digest info is set.

getEntityNamesback to summary
public Principal[] getEntityNames()

Return any principal objects inside the attribute certificate holder entity names field.

Returns:Principal[]

an array of Principal objects (usually X500Principal), null if no entity names field is set.

getIssuerback to summary
public Principal[] getIssuer()

Return the principals associated with the issuer attached to this holder

Returns:Principal[]

an array of principals, null if no BaseCertificateID is set.

getNamesback to summary
private Object[] getNames(GeneralName[] names)
getObjectDigestback to summary
public byte[] getObjectDigest()

Returns the hash if an object digest info is used.

Returns:byte[]

The hash or null if no object digest info is set.

getOtherObjectTypeIDback to summary
public String getOtherObjectTypeID()

Returns the digest algorithm ID if an object digest info is used.

Returns:String

The digest algorithm ID or null if no object digest info is set.

getPrincipalsback to summary
private Principal[] getPrincipals(GeneralNames names)
getSerialNumberback to summary
public BigInteger getSerialNumber()

Return the serial number associated with the issuer attached to this holder.

Returns:BigInteger

the certificate serial number, null if no BaseCertificateID is set.

hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns:int

a hash code value for this object.

matchback to summary
public boolean match(Certificate cert)

Implements java.security.cert.CertSelector.match, org.bouncycastle.util.Selector.match.

Doc from java.security.cert.CertSelector.match.

Decides whether a Certificate should be selected.

Parameters
cert:Certificate

the Certificate to be checked

Returns:boolean

true if the Certificate should be selected, false otherwise

matchback to summary
public boolean match(Object obj)

Implements org.bouncycastle.util.Selector.match.

Doc from org.bouncycastle.util.Selector.match.

Match the passed in object, returning true if it would be selected by this selector, false otherwise.

Parameters
obj:Object

the object to be matched.

Returns:boolean

true if the object is a match for this selector, false otherwise.

matchesDNback to summary
private boolean matchesDN(X509Principal subject, GeneralNames targets)

Deprecated

as a consequence of X509Principal being deprecated. See corresponding docs for further information.