Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| IAIK PKCS#11 Wrapper version 1.2.16
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## iaik.pkcs.pkcs11.objects
Class DomainParameters

    java.lang.Object
      iaik.pkcs.pkcs11.objects.Object
          iaik.pkcs.pkcs11.objects.Storage
              iaik.pkcs.pkcs11.objects.DomainParameters

All Implemented Interfaces:
  Cloneable

Direct Known Subclasses:
  DHParams, DSAParams, X942DHParams

public class DomainParameters
extends Storage

An object of this class represents domain parameters as defined by PKCS#11 2.11. Domain parameters are of a specific type: DSA, DH or X9_42_DH. If an application needs to use vendor-defined domain parameters, it must set a VendorDefinedDomainParametersBuilder using the setVendorDefinedDomainParametersBuilder method.

Invariants
  (keyType_ <> null) and (local_ <> null)

Nested Class Summary
`static interface` | `DomainParameters.VendorDefinedDomainParametersBuilder` If an application uses vendor defined DomainParameters, it must implement this interface and install such an object handler using setVendorDefinedDomainParametersBuilder.

Nested classes inherited from class iaik.pkcs.pkcs11.objects.Object
`Object.ObjectClass, Object.VendorDefinedObjectBuilder`

Field Summary
`protected KeyTypeAttribute` | `keyType_` The type of this key.
`protected BooleanAttribute` | `local_` True, if this key was created (generated or copiedfrom a different key) on the token.
`protected static DomainParameters.VendorDefinedDomainParametersBuilder` | `vendorDomainParametersBuilder_` The currently set vendor defined DomainParameters builder, or null.

Fields inherited from class iaik.pkcs.pkcs11.objects.Storage
`label_, modifiable_, private_, token_`

Fields inherited from class iaik.pkcs.pkcs11.objects.Object
`attributeTable_, objectClass_, objectClassNames_, objectHandle_, vendorObjectBuilder_`

Constructor Summary
`` | `DomainParameters()` The default constructor.
`protected` | `DomainParameters(Session session, long objectHandle)` Called by sub-classes to create an instance of PKCS#11 domain parameters.

Method Summary
`protected void` | `allocateAttributes()` Allocates the attribute objects for this class and adds them to the attribute table.
`Object` | `clone()` Create a (deep) clone of this object.
`boolean` | `equals(Object otherObject)` Compares all member variables of this object with the other object.
`static Object` | `getInstance(Session session, long objectHandle)` The getInstance method of the Object class uses this method to create an instance of PKCS#11 domain parameters.
`LongAttribute` | `getKeyType()` Gets the key type attribute of the PKCS#11 key.
`protected static Object` | `getUnknownDomainParameters(Session session, long objectHandle)` Try to create a domain parameters which has no or an unkown key type type attribute.
`static DomainParameters.VendorDefinedDomainParametersBuilder` | `getVendorDefinedDomainParametersBuilder()` Get the currently set vendor-defined DomainParameters builder.
`int` | `hashCode()` The overriding of this method should ensure that the objects of this class work correctly in a hashtable.
`BooleanAttribute` | `isLocal()` Check, if this key is a local key; i.e. was generated on the token or created via copy from a different key on the token.
`protected static void` | `putAttributesInTable(DomainParameters object)` Put all attributes of the given object into the attributes table of this object.
`void` | `readAttributes(Session session)` Read the values of the attributes of this object from the token.
`static void` | `setVendorDefinedDomainParametersBuilder(DomainParameters.VendorDefinedDomainParametersBuilder builder)` Set a vendor-defined DomainParameters builder that should be called to create an instance of vendor-defined PKCS#11 domain parameters; i.e.
`String` | `toString()` This method returns a string representation of the current object.

Methods inherited from class iaik.pkcs.pkcs11.objects.Storage
`getLabel, getModifiable, getPrivate, getToken, putAttributesInTable`

Methods inherited from class iaik.pkcs.pkcs11.objects.Object
`getAttributeTable, getAttributeValue, getObjectClass, getObjectClassName, getObjectHandle, getSetAttributes, getSetAttributes, getUnknownObject, getVendorDefinedObjectBuilder, putAttributesInTable, setObjectHandle, setVendorDefinedObjectBuilder`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### vendorDomainParametersBuilder_

    protected static DomainParameters.VendorDefinedDomainParametersBuilder vendorDomainParametersBuilder_

  The currently set vendor defined DomainParameters builder, or null.

### keyType_

    protected KeyTypeAttribute keyType_

  The type of this key. Its value is one of KeyType, or one that has a bigger value than VENDOR_DEFINED.

### local_

    protected BooleanAttribute local_

  True, if this key was created (generated or copiedfrom a different key) on the token.

Constructor Detail

### DomainParameters

    public DomainParameters()

  The default constructor. An application uses this constructor to instanciate a key that serves as a template. It may also be useful for working with vendor-defined domain parameters.

Preconditions
Postconditions

### DomainParameters

    protected DomainParameters(Session session,
                               long objectHandle)
                        throws TokenException

  Called by sub-classes to create an instance of PKCS#11 domain parameters.

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.
Preconditions
  (session <> null)
Postconditions

Method Detail

### setVendorDefinedDomainParametersBuilder

    public static void setVendorDefinedDomainParametersBuilder(DomainParameters.VendorDefinedDomainParametersBuilder builder)

  Set a vendor-defined DomainParameters builder that should be called to create an instance of vendor-defined PKCS#11 domain parameters; i.e. an instance of a vendor defined sub-class of this class.

  Parameters:
    `builder` - The vendor-defined DomainParameters builder. Null to clear any previously installed vendor-defined builder.
  Preconditions
  Postconditions

### getVendorDefinedDomainParametersBuilder

    public static DomainParameters.VendorDefinedDomainParametersBuilder getVendorDefinedDomainParametersBuilder()

  Get the currently set vendor-defined DomainParameters builder.

  Returns:
    The currently set vendor-defined DomainParameters builder or null if none is set.
  Preconditions
  Postconditions

### getInstance

    public static Object getInstance(Session session,
                                     long objectHandle)
                              throws TokenException

  The getInstance method of the Object class uses this method to create an instance of PKCS#11 domain parameters. This method reads the key type attribute and calls the getInstance method of the according sub-class. If the key type is a vendor defined or an unknown it uses the VendorDefinedDomainParametersBuilder set by the application. If no domain parameters could be constructed, this method returns null.

  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.
  Preconditions
    (session <> null)
  Postconditions
    (result <> null)

### getUnknownDomainParameters

    protected static Object getUnknownDomainParameters(Session session,
                                                       long objectHandle)
                                                throws TokenException

  Try to create a domain parameters which has no or an unkown key type type attribute. This implementation will try to use a vendor defined domain parameters builder, if such has been set. If this is impossible or fails, it will create just a simple `DomainParameters`.

  Parameters:
    `session` - The session to use.
    `objectHandle` - The handle of the object
  Returns:
    A new Object.
  Throws:
    `TokenException` - If no object could be created.
  Preconditions
    (session <> null)
  Postconditions
    (result <> null)

### putAttributesInTable

    protected static void putAttributesInTable(DomainParameters 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.
  Preconditions
    (object <> null)
  Postconditions

### allocateAttributes

    protected void allocateAttributes()

  Allocates the attribute objects for this class and adds them to the attribute table.

  Overrides:
    `allocateAttributes` in class `Storage`
  Preconditions
  Postconditions

### clone

    public Object clone()

  Create a (deep) clone of this object.

  Overrides:
    `clone` in class `Storage`
  Returns:
    A clone of this object.
  Preconditions
  Postconditions
    (result <> null) and (result instanceof DomainParameters) and (result.equals(this))

### equals

    public boolean equals(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 `Storage`
  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.
  Preconditions
  Postconditions

### getKeyType

    public LongAttribute getKeyType()

  Gets the key type attribute of the PKCS#11 key. Its value must be one of those defined in the KeyType interface or one with an value bigger than KeyType.VENDOR_DEFINED.

  Returns:
    The key type identifier.
  Preconditions
  Postconditions
    (result <> null)

### 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 `Storage`
  Returns:
    The hash code of this object.
  Preconditions
  Postconditions

### isLocal

    public BooleanAttribute isLocal()

  Check, if this key is a local key; i.e. was generated on the token or created via copy from a different key on the token.

  Returns:
    Its value is true, if the key was created on the token.
  Preconditions
  Postconditions
    (result <> null)

### readAttributes

    public void readAttributes(Session session)
                        throws TokenException

  Read the values of the attributes of this object from the token.

  Overrides:
    `readAttributes` in class `Storage`
  Parameters:
    `session` - The session handle 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.
  Throws:
    `TokenException` - If getting the attributes failed.
  Preconditions
    (session <> null)
  Postconditions

### toString

    public 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 `Storage`
  Returns:
    A string presentation of this object for debugging output.
  Preconditions
  Postconditions
    (result <> null)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| IAIK PKCS#11 Wrapper version 1.2.16
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

IAIK JavaSecurity Website http://jce.iaik.tugraz.at/
IAIK at Graz University of Technology, Austria, Europe
Copyright 2001-2002, IAIK, Graz University of Technology, Inffeldgasse 16a, 8010 Graz, Austria. All Rights Reserved.