This package contains all classes for objects and attributes as known from
PKCS#11. For each object defined by PKCS#11 (v2.10) there is a corresponding
class in this package. Additionally, there are classes for handling the
attributes of objects. As know from PKCS#11, each object possesses certain
attributes. For each attribute in an object there is a get<
attributename>()
method to get the attribute. Unfortunately, not all
PKCS#11 modules stick exactly to the standard concerning the attributes. Objects
from some modules simply lack some attributes that they should have. Therefore I
decided to encapsulate the attributes in a own class to ensure interoperability
as far as possible. After an application read an object from the token, it can
get the attributes and ask the attributes if they are really present in this
object and if their values are sensitive. Besides the different objects and
attributes, there is the KeyPair
class. It is the only class that
has no counterpart in PKCS#11. I introduced it for convenience reasons maily. It
is nicer to get a KeyPair
than an array with two keys as a result.
The library uses objects from this class for two purposes. First, to represent
objects that are present on the token or in the current session. And second, as
templates for object serch and object manipulation operations.
Notice that
objects of these classes are only snapshots of the objects on the token at the
time these Java objects are created. This means, that the attributes values are
loaded from the token in the constructor of these classes. And if the
application sets attributes to new values it must write these values back to the
token for the changes to take effect on the token. For this purpose, use the
setAttributeValues(Object,Object)
method of a Session
object. An application may derive new classes from these object classes to
create classes for vendor-defined object types.