iaik.tc.tss.impl.ps
Interface TcITssPersistentStorage

All Known Implementing Classes:
TcTssPersistentStorage, TcTssPsDatabase, TcTssPsFileSystem, TcTssPsTrousers, TcTssSystemPsDatabase, TcTssSystemPsFileSystem, TcTssSystemPsTrousers, TcTssUserPsDatabase, TcTssUserPsFileSystem, TcTssUserPsTrousers

public interface TcITssPersistentStorage


Method Summary
 TcTssKmKeyinfo[] enumRegisteredKeys(TcTssUuid keyUuid)
          Returns the whole key hierarchy of the given key i.e.
 TcTssKmKeyinfo getRegisteredKey(TcTssUuid keyUuid)
          Returns information on a registered key.
 TcBlobData getRegisteredKeyBlob(TcTssUuid keyUuid)
          Gets the key blob from the key described by this UUID
 TcBlobData getRegisteredKeyByPublicInfo(long algId, TcBlobData pubKey)
          TODO complete documentation Returns a key blob described by the given public key and its algorithm
 void registerKey(TcTssUuid parentUuid, TcTssUuid keyUuid, TcBlobData key)
          Registers the key in persistent storage.
 void unregisterKey(TcTssUuid keyUuid)
          Unregisters the key in persistent storage.
 

Method Detail

registerKey

void registerKey(TcTssUuid parentUuid,
                 TcTssUuid keyUuid,
                 TcBlobData key)
                 throws TcTssException
Registers the key in persistent storage.

Parameters:
parentUuid - the parent from the actual key
keyUuid - the UUID assigned to the key (has to be unique!)
key - the key value
Throws:
TcTssException - if registration failed

unregisterKey

void unregisterKey(TcTssUuid keyUuid)
                   throws TcTssException
Unregisters the key in persistent storage.

Parameters:
keyUuid - the UUID assigned to this key
Throws:
TcTssException - if unregister key failed

getRegisteredKeyBlob

TcBlobData getRegisteredKeyBlob(TcTssUuid keyUuid)
                                throws TcTssException
Gets the key blob from the key described by this UUID

Parameters:
keyUuid - the UUID assigned to the desired key
Returns:
a key blob containing the key with the given UUID
Throws:
TcTssException - if getting key blob failed

getRegisteredKeyByPublicInfo

TcBlobData getRegisteredKeyByPublicInfo(long algId,
                                        TcBlobData pubKey)
                                        throws TcTssException
TODO complete documentation Returns a key blob described by the given public key and its algorithm

Parameters:
algId - the id describing the algorithm which belongs to the given key
pubKey - the given public key
Returns:
a blob containing the public info for the key
Throws:
TcTssException

enumRegisteredKeys

TcTssKmKeyinfo[] enumRegisteredKeys(TcTssUuid keyUuid)
                                    throws TcTssException
Returns the whole key hierarchy of the given key i.e. all its parents as TcTssKmKeyinfo[].

Parameters:
keyUuid - the UUID of the desired key
Returns:
the whole key hierarchy of the key. If the committed key value is null, all registered keys are returned.
Throws:
TcTssException - if the keys cannot be read out correctly

getRegisteredKey

TcTssKmKeyinfo getRegisteredKey(TcTssUuid keyUuid)
                                throws TcTssException
Returns information on a registered key.

Parameters:
keyUuid - is the key to get information on
Returns:
ATTENTION: The isLoaded field of TcTssKmKeyinfo is always false upon return, because the persistent storage has no way of knowing what the key manager is actually doing. No vendor specific data is given.
Throws:
TcTssException