IAIK PKCS#11 Provider API Documentation
version 1.6

iaik.pkcs.pkcs11.provider.keygenerators
Class PKCS11KeyDerivationSpec

java.lang.Object
  extended by iaik.pkcs.pkcs11.provider.spec.PKCS11Spec
      extended by iaik.pkcs.pkcs11.provider.keygenerators.PKCS11KeyGenerationSpec
          extended by iaik.pkcs.pkcs11.provider.keygenerators.PKCS11KeyDerivationSpec
All Implemented Interfaces:
java.security.spec.AlgorithmParameterSpec, java.security.spec.KeySpec
Direct Known Subclasses:
PKCS11EcbModeKeyDerivationSpec, PKCS11SSL3KeyAndMacDerivationParameterSpec, PKCS11SSL3MasterKeyDerivationSpec

public class PKCS11KeyDerivationSpec
extends PKCS11KeyGenerationSpec

Objects of this algorithm parameters class allows an application to control the derivation of PKCS#11 keys using the provided JCE key generators. This allows to specify the base key from which to derive a new key and the template for the new attributes of the new key.

Author:
Karl Scheibelhofer

Field Summary
 
Fields inherited from class iaik.pkcs.pkcs11.provider.spec.PKCS11Spec
USE_PUBLIC_SESSION, USE_READ_ONLY_SESSION, USE_READ_WRITE_SESSION, USE_USER_SESSION
 
Constructor Summary
PKCS11KeyDerivationSpec(iaik.pkcs.pkcs11.objects.SecretKey baseKey, iaik.pkcs.pkcs11.objects.SecretKey keyTemplate)
          Constructor taking several parameters that control where and how the key should be generated.
PKCS11KeyDerivationSpec(TokenManager tokenManager, iaik.pkcs.pkcs11.objects.SecretKey baseKey, iaik.pkcs.pkcs11.objects.SecretKey keyTemplate, boolean useROSession, boolean useUserSession)
          Deprecated.  
 
Method Summary
 iaik.pkcs.pkcs11.objects.SecretKey getBaseKey()
          Get the base key for the new key.
 
Methods inherited from class iaik.pkcs.pkcs11.provider.keygenerators.PKCS11KeyGenerationSpec
getKeyTemplate
 
Methods inherited from class iaik.pkcs.pkcs11.provider.spec.PKCS11Spec
getPin, getTokenManager, isUseAnonymousRole, isUseROSession, isUseRwSession, isUseSORole, isUseUserRole, isUseUserSession, setPin, setTokenManager, setUseAnonymousRole, setUseSORole, setUseUserRole
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PKCS11KeyDerivationSpec

public PKCS11KeyDerivationSpec(TokenManager tokenManager,
                               iaik.pkcs.pkcs11.objects.SecretKey baseKey,
                               iaik.pkcs.pkcs11.objects.SecretKey keyTemplate,
                               boolean useROSession,
                               boolean useUserSession)
Deprecated. 

Constructor taking several parameters that control where and how the key should be generated.

Parameters:
tokenManager - The manager to handle the token.
baseKey - The base key to derive the new key from.
keyTemplate - The template for the new key.
useROSession - true (USE_READ_ONLY_SESSION), if the key should be generated using a read-only session. This is only possible for session-objects. false ( USE_READ_WRITE_SESSION) to use a read-write session.
useUserSession - true (USE_USER_SESSION), if the key should be generated using a user session. This is required for private objects (key); i.e. keys that have their private flag set. false (USE_PUBLIC_SESSION) to use a public session. This will only work for public objects.

PKCS11KeyDerivationSpec

public PKCS11KeyDerivationSpec(iaik.pkcs.pkcs11.objects.SecretKey baseKey,
                               iaik.pkcs.pkcs11.objects.SecretKey keyTemplate)
Constructor taking several parameters that control where and how the key should be generated.

Parameters:
baseKey - The base key to derive the new key from.
keyTemplate - The template for the new key.
Method Detail

getBaseKey

public iaik.pkcs.pkcs11.objects.SecretKey getBaseKey()
Get the base key for the new key.

Returns:
The template for the new key.

IAIK PKCS#11 Provider API Documentation
version 1.6

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.6