IAIK PKCS#11 Wrapper
version 1.5

iaik.pkcs.pkcs11.objects
Class MonotonicCounter

java.lang.Object
  |
  +--iaik.pkcs.pkcs11.objects.Object
        |
        +--iaik.pkcs.pkcs11.objects.HardwareFeature
              |
              +--iaik.pkcs.pkcs11.objects.MonotonicCounter
All Implemented Interfaces:
java.lang.Cloneable

public class MonotonicCounter
extends HardwareFeature

Objects of this class represent a monotonic counter as specified by PKCS#11 v2.11. Remind that this is a snapshot; this means that this object does not get the values from the token on demand it gets them upon instantiation.

Version:
1.0
Author:
Karl Scheibelhofer

Inner classes inherited from class iaik.pkcs.pkcs11.objects.HardwareFeature
HardwareFeature.FeatureType, HardwareFeature.VendorDefinedHardwareFeatureBuilder
 
Inner classes inherited from class iaik.pkcs.pkcs11.objects.Object
Object.ObjectClass, Object.VendorDefinedObjectBuilder
 
Field Summary
protected  BooleanAttribute hasReset_
          True, if this counter has been reset at least once.
protected  BooleanAttribute resetOnInit_
          True, if this counter is reset on token initialization.
protected  ByteArrayAttribute value_
          The value attribute of this monotonic counter.
 
Fields inherited from class iaik.pkcs.pkcs11.objects.HardwareFeature
hardwareFeatureType_, vendorHardwareFeatureBuilder_
 
Fields inherited from class iaik.pkcs.pkcs11.objects.Object
attributeTable_, objectClass_, objectClassNames_, objectHandle_, vendorObjectBuilder_
 
Constructor Summary
  MonotonicCounter()
          Default Constructor.
protected MonotonicCounter(Session session, long objectHandle)
          Called by getInstance to create an instance of a PKCS#11 monotonic counter.
 
Method Summary
protected  void allocateAttributes()
          Allocates the attribute objects for this class and adds them to the attribute table.
 java.lang.Object clone()
          Create a (deep) clone of this object.
 boolean equals(java.lang.Object otherObject)
          Compares all member variables of this object with the other object.
 BooleanAttribute getHasReset()
          Gets the has-reset attribute of this monotonic counter object.
static Object getInstance(Session session, long objectHandle)
          The getInstance method of the HardwareFeature class uses this method to create an instance of a PKCS#11 monotonic counter.
 ByteArrayAttribute getValue()
          Gets the value attribute of this monotonic counter object.
 int hashCode()
          The overriding of this method should ensure that the objects of this class work correctly in a hashtable.
 BooleanAttribute isResetOnInit()
          Gets the reset-on-init attribute of this monotonic counter object.
protected static void putAttributesInTable(MonotonicCounter object)
          Put all attributes of the given object into the attributes table of this object.
 java.lang.String toString()
          This method returns a string representation of the current object.
 
Methods inherited from class iaik.pkcs.pkcs11.objects.HardwareFeature
getHardwareFeatureType, getHardwareFeatureTypeName, getUnknownHardwareFeature, getVendorDefinedHardwareFeatureBuilder, putAttributesInTable, setVendorDefinedHardwareFeatureBuilder
 
Methods inherited from class iaik.pkcs.pkcs11.objects.Object
checkAttributesState, checkAttributeState, getAttribute, getAttributeTable, getAttributeValue, getAttributeValues, getObjectClass, getObjectClassName, getObjectHandle, getSetAttributes, getSetAttributes, getUnknownObject, getVendorDefinedObjectBuilder, putAttribute, putAttributesInTable, readAttributes, removeAttribute, setObjectHandle, setVendorDefinedObjectBuilder, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

resetOnInit_

protected BooleanAttribute resetOnInit_
True, if this counter is reset on token initialization.

hasReset_

protected BooleanAttribute hasReset_
True, if this counter has been reset at least once.

value_

protected ByteArrayAttribute value_
The value attribute of this monotonic counter.
Constructor Detail

MonotonicCounter

public MonotonicCounter()
Default Constructor.

MonotonicCounter

protected MonotonicCounter(Session session,
                           long objectHandle)
                    throws TokenException
Called by getInstance to create an instance of a PKCS#11 monotonic counter.
Parameters:
session - The session to use for reading attributes. This session must have the appropriate rights; i.e. it must be a user-session, if it is a private object.
objectHandle - The object handle as given from the PKCS#111 module.
Throws:
TokenException - If getting the attributes failed.
Method Detail

getInstance

public static Object getInstance(Session session,
                                 long objectHandle)
                          throws TokenException
The getInstance method of the HardwareFeature class uses this method to create an instance of a PKCS#11 monotonic counter.
Parameters:
session - The session to use for reading attributes. This session must have the appropriate rights; i.e. it must be a user-session, if it is a private object.
objectHandle - The object handle as given from the PKCS#111 module.
Returns:
The object representing the PKCS#11 object. The returned object can be casted to the according sub-class.
Throws:
TokenException - If getting the attributes failed.

putAttributesInTable

protected static void putAttributesInTable(MonotonicCounter object)
Put all attributes of the given object into the attributes table of this object. This method is only static to be able to access invoke the implementation of this method for each class separately (see use in clone()).
Parameters:
object - The object to handle.

allocateAttributes

protected void allocateAttributes()
Allocates the attribute objects for this class and adds them to the attribute table.
Overrides:
allocateAttributes in class HardwareFeature

clone

public java.lang.Object clone()
Create a (deep) clone of this object.
Overrides:
clone in class HardwareFeature
Returns:
A clone of this object.

equals

public boolean equals(java.lang.Object otherObject)
Compares all member variables of this object with the other object. Returns only true, if all are equal in both objects.
Overrides:
equals in class HardwareFeature
Parameters:
otherObject - The other object to compare to.
Returns:
True, if other is an instance of this class and all member variables of both objects are equal. False, otherwise.

getHasReset

public BooleanAttribute getHasReset()
Gets the has-reset attribute of this monotonic counter object.
Returns:
The has-reset attribute.

isResetOnInit

public BooleanAttribute isResetOnInit()
Gets the reset-on-init attribute of this monotonic counter object.
Returns:
The reset-on-init attribute.

getValue

public ByteArrayAttribute getValue()
Gets the value attribute of this monotonic counter object.
Returns:
The value attribute.

hashCode

public int hashCode()
The overriding of this method should ensure that the objects of this class work correctly in a hashtable.
Overrides:
hashCode in class HardwareFeature
Returns:
The hash code of this object.

toString

public java.lang.String toString()
This method returns a string representation of the current object. The output is only for debugging purposes and should not be used for other purposes.
Overrides:
toString in class HardwareFeature
Returns:
A string presentation of this object for debugging output.

IAIK PKCS#11 Wrapper
version 1.5

IAIK JavaSecurity Website http://jce.iaik.tugraz.at/

IAIK at Graz University of Technology, Austria, Europe
Copyright 2001-2004, IAIK, Graz University of Technology, Inffeldgasse 16a, 8010 Graz, Austria. All Rights Reserved.
version 1.5