IAIK PKCS#11 Wrapper
version 1.5

Package iaik.pkcs.pkcs11.objects

This package contains all classes for objects and attributes as known from PKCS#11.

See:
          Description

Interface Summary
Certificate.CertificateType This interface defines the available certificate types as defined by PKCS#11: X_509_PUBLIC_KEY, X_509_ATTRIBUTE or VENDOR_DEFINED.
Certificate.VendorDefinedCertificateBuilder If an application uses vendor defined certificates, it must implement this interface and install such an object handler using setVendorDefinedCertificateBuilder.
DomainParameters.VendorDefinedDomainParametersBuilder If an application uses vendor defined DomainParameters, it must implement this interface and install such an object handler using setVendorDefinedDomainParametersBuilder.
HardwareFeature.FeatureType This interface defines the available hardware feature types as defined by PKCS#11 2.20: MONOTONIC_COUNTER, CLOCK, CKH_USER_INTERFAC or VENDOR_DEFINED.
HardwareFeature.VendorDefinedHardwareFeatureBuilder If an application uses vendor defined hardware features, it must implement this interface and install such an object handler using setVendorDefinedHardwareFeatureBuilder.
Key.KeyType This interface defines the available key types as defined by PKCS#11 2.11: RSA, DSA, DH, ECDSA, KEA, GENERIC_SECRET, RC2, RC4, DES, DES2, DES3, CAST, CAST3, CAST5, CAST128, RC5, IDEA, SKIPJACK, BATON, JUNIPER, CDMF, AES, EC, X9_42_DH or VENDOR_DEFINED.
Key.VendorDefinedKeyBuilder If an application uses vendor defined keys, it must implement this interface and install such an object handler using setVendorDefinedKeyBuilder.
Object.ObjectClass This interface defines the available object classes as defined by PKCS#11: DATA, CERTIFICATE, PUBLIC_KEY, PRIVATE_KEY, SECRET_KEY, HW_FEATURE, DOMAIN_PARAMETERS or VENDOR_DEFINED.
Object.VendorDefinedObjectBuilder If an application uses vendor defined objects, it must implement this interface and install such an object handler using setVendorDefinedObjectBuilder.
 

Class Summary
AESSecretKey Objects of this class represent AES secret keys as specified by PKCS#11 v2.11.
Attribute This is the base-class for all types of attributes.
AttributeArray Objects of this class represent a attribute array of a PKCS#11 object as specified by PKCS#11.
BatonSecretKey Objects of this class represent BATON secret keys as specified by PKCS#11 v2.11.
BlowfishSecretKey Objects of this class represent Blowfish secret keys as specified by PKCS#11 v2.20.
BooleanAttribute Objects of this class represent a boolean attribute of a PKCS#11 object as specified by PKCS#11.
ByteArrayAttribute Objects of this class represent a byte-array attribute of a PKCS#11 object as specified by PKCS#11.
CAST128SecretKey Objects of this class represent CAST128 secret keys as specified by PKCS#11 v2.11.
CAST3SecretKey Objects of this class represent CAST3 secret keys as specified by PKCS#11 v2.11.
CAST5SecretKey Objects of this class represent CAST5 secret keys as specified by PKCS#11 v2.11.
CASTSecretKey Objects of this class represent CAST secret keys as specified by PKCS#11 v2.11.
CDMFSecretKey Objects of this class represent CDMF secret keys as specified by PKCS#11 v2.11.
Certificate An object of this class represents a certificate as defined by PKCS#11.
CertificateTypeAttribute This is a special version of a long attribute for the type of a certificate type.
CharArrayAttribute Objects of this class represent a char-array attribute of a PKCS#11 object as specified by PKCS#11.
Clock Objects of this class represent a clock as specified by PKCS#11 v2.11.
Data Objects of this class represent a data object as specified by PKCS#11 v2.11.
DateAttribute Objects of this class represent a date attribute of an PKCS#11 object as specified by PKCS#11.
DES2SecretKey Objects of this class represent double-length DES secret keys as specified by PKCS#11 v2.11.
DES3SecretKey Objects of this class represent Triple-DES secret keys as specified by PKCS#11 v2.11.
DESSecretKey Objects of this class represent DES secret keys as specified by PKCS#11 v2.11.
DHParams Objects of this class represent DH domain parameters as specified by PKCS#11 v2.11.
DHPrivateKey Objects of this class represent DH private keys as specified by PKCS#11 v2.11.
DHPublicKey Objects of this class represent DH public keys as specified by PKCS#11 v2.11.
DomainParameters An object of this class represents domain parameters as defined by PKCS#11 2.11.
DSAParams Objects of this class represent DSA domain parameters as specified by PKCS#11 v2.11.
DSAPrivateKey Objects of this class represent DSA private keys as specified by PKCS#11 v2.11.
DSAPublicKey Objects of this class represent DSA public keys as specified by PKCS#11 v2.11.
ECDSAPrivateKey Objects of this class represent ECDSA private keys as specified by PKCS#11 v2.11.
ECDSAPublicKey Objects of this class represent ECDSA public keys as specified by PKCS#11 v2.11.
GenericSecretKey Objects of this class represent generic secret keys as specified by PKCS#11 v2.11.
GenericTemplate An object of this class is a generic template.
HardwareFeature This is the base class for hardware feature classes.
HardwareFeatureTypeAttribute This is a special version of a long attribute for the type of a hardware feature.
IDEASecretKey Objects of this class represent IDEA secret keys as specified by PKCS#11 v2.11.
JuniperSecretKey Objects of this class represent Juniper secret keys as specified by PKCS#11 v2.11.
KEAPrivateKey Objects of this class represent KEA private keys as specified by PKCS#11 v2.11.
KEAPublicKey Objects of this class represent KEA public keys as specified by PKCS#11 v2.11.
Key An object of this class represents a key as defined by PKCS#11 2.11.
KeyPair This class does not correspond to any PKCS#11 object.
KeyTypeAttribute This is a special version of a long attribute for the type of a key type.
LongAttribute Objects of this class represent a long attribute of an PKCS#11 object as specified by PKCS#11.
Mechanism Objects of this class represent Mechanism Objects as introduced in PKCS#11 2.20.
MechanismArrayAttribute Objects of this class represent a mechanism array attribute of a PKCS#11 object as specified by PKCS#11.
MechanismAttribute Objects of this class represent a mechanism attribute of an PKCS#11 object as specified by PKCS#11.
MonotonicCounter Objects of this class represent a monotonic counter as specified by PKCS#11 v2.11.
Object An object of this class represents an object as defined by PKCS#11.
ObjectClassAttribute This is a special version of a long attribute for the type of a object class.
OtherAttribute  
PrivateKey This is the base class for private (asymmetric) keys.
PublicKey This is the base class for public (asymmetric) keys.
RC2SecretKey Objects of this class represent RC2 secret keys as specified by PKCS#11 v2.11.
RC4SecretKey Objects of this class represent RC4 secret keys as specified by PKCS#11 v2.11.
RC5SecretKey Objects of this class represent RC5 secret keys as specified by PKCS#11 v2.11.
RSAPrivateKey Objects of this class represent RSA private keys as specified by PKCS#11 v2.11.
RSAPublicKey Objects of this class represent RSA public keys as specified by PKCS#11 v2.11.
SecretKey This is the base class for secret (symmetric) keys.
SkipJackSecretKey Objects of this class represent SkipJack secret keys as specified by PKCS#11 v2.11.
Storage Objects of this class represent PKCS#11 objects of type storage as defined in PKCSC#11 2.11, but is compatible to version 2.01.
TwofishSecretKey Objects of this class represent Twofish secret keys as specified by PKCS#11 v2.20.
UserInterface Objects of this class represent a user interface as specified by PKCS#11 v2.20.
WTLSCertificate Objects of this class represent WTLS public key certificates as specified by PKCS#11 v2.20 Chap.
X509AttributeCertificate Objects of this class represent X.509 attribute certificate as specified by PKCS#11 v2.11.
X509PublicKeyCertificate Objects of this class represent X.509 public key certificate as specified by PKCS#11 v2.11.
X942DHParams Objects of this class represent X9.42 DH domain parameters as specified by PKCS#11 v2.11.
X942DHPrivateKey Objects of this class represent X9.42 DH private keys as specified by PKCS#11 v2.11.
X942DHPublicKey Objects of this class represent X9.42 DH public keys as specified by PKCS#11 v2.11.
 

Package iaik.pkcs.pkcs11.objects Description

This package contains all classes for objects and attributes as known from PKCS#11. For each object defined by PKCS#11 (v2.20) 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 we decided to encapsulate the attributes in an 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. We introduced it for convenience reasons mainly. 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 search 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.


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