Introduction to Library Functions Tspi_Context_UnregisterKey(3)
NAME
Tspi_Context_UnregisterKey - unregister a key from the per-
sistent storage device.SYNOPSIS
#include
#include
#include
#include
#include
#include
#include
TSS_RESULT Tspi_Context_UnregisterKey(TSS_HCONTEXT hContext, TSS_FLAG persistentStorageType,
TSS_UUID uuidKey, TSS_HKEY* phKey);
DESCRIPTION
TSS_Context_UnregisterKey provides the capabilities of the
TSS Core Service or TSS Service ProviderPARAMETERS
hContext The handle of the context object. persistentStorageType Flag indicating the persistent storage. uuidKey The UUID of the key to be removed from the persistent storage. phKeyRecieves the handle of a key object containing the informa-
tion from the archive. pulRespDataLengthRecieves the length (in bytes) of the prgbRespData parame-
ter. prgbRespData On successful completion of the command, this parameter points to the buffer containing the actual data of thespecified capability. The handle of the object to be des-
troyed RETURN CODESTspi_Context_UnregisterKey returns TSS_SUCCESS on success,
otherwise one of the following values are returned:TSS 1.1 Last change: 2004-05-26 1
Introduction to Library Functions Tspi_Context_UnregisterKey(3)
TSS_E_INVALID_HANDLE - the parameter hContext is
TSS_E_PS_KEY_NOTFOUND - the parameter uuidKey is
TSS_E_INTERNAL_ERROR - An error occurred internal
EXAMPLE
#include
int main(void) {TSS_FLAGS initFlags = ...;
TSS_HKEY hKey, hSRK;
TSS_UUID keyUUID = {...};
// Create a TSP handleresult = Tspi_Context_Create(&hContext);
if (result != TSS_SUCCESS)
Error_Path();
// Connect to the TCSDresult = Tspi_Context_Connect(hContext, GLOBALSERVER);
if (result != TSS_SUCCESS)
Error_Path();
// Create the Key Objectresult = Tspi_Context_CreateObject(hContext,
TSS_OBJECT_TYPE_RSAKEY,
initFlags, &hKey);if (result != TSS_SUCCESS)
Error_Path();
// Load parent Key by UUIDresult = Tspi_Context_LoadKeyByUUID(hContext, TSS_PS_TYPE_SYSTEM,
SRK_UUID, &hSRK);
if (result != TSS_SUCCESS)
Error_Path();
// Do policy/secret handling hereresult = Tspi_Key_CreateKey(hKey, hSRK, 0);
if (result != TSS_SUCCESS)
Error_Path();
// Register the Key in System PS (on the TCSD's platform)result = Tspi_Context_RegisterKey(hContext, hKey, TSS_PS_TYPE_SYSTEM,
keyUUID, TSS_PS_TYPE_SYSTEM,
SRK_UUID);
if (result != TSS_SUCCESS)
Error_Path();
TSS 1.1 Last change: 2004-05-26 2
Introduction to Library Functions Tspi_Context_UnregisterKey(3)
/* ... * * Use the key as needed, exiting the program if necessary, reloading* the key using Tspi_Context_LoadKeyByUUID() after each restart. Once
* the key is no longer useful, unregister it from system PS as part * of clean up. */ // Unregister the Keyresult = Tspi_Context_UnregisterKey(hContext, TSS_PS_TYPE_SYSTEM,
migratableSignUUID, &hKey);if (result != TSS_SUCCESS)
Error_Path();
// exit, discarding hKey } CONFORMING TOTspi_Context_UnregisterKey conforms to the Trusted Computing
Group Software Specification version 1.1 GoldenSEE ALSO
Tspi_Key_CreateKey(3), Tspi_Context_RegisterKey(3).
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:__________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|____________________|_____________________________|_
| Availability | library/security/trousers ||____________________|_____________________________|_
| Interface Stability| Uncommitted ||____________________|____________________________|
NOTES Source for trousers is available at http://opensolaris.organd at http://sourceforge.net/projects/trousers. Documenta-
tion is available at file:///usr/share/man, and http://sourceforge.net/projects/trousers.TSS 1.1 Last change: 2004-05-26 3