GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Tspi_Context_UnregisterKey(3) TCG Software Stack Developer's Reference Tspi_Context_UnregisterKey(3)

Tspi_Context_UnregisterKey - unregister a key from the persistent storage device.

#include <tss/platform.h>
#include <tss/tcpa_defines.h>
#include <tss/tcpa_typedef.h>
#include <tss/tcpa_struct.h>
#include <tss/tss_typedef.h>
#include <tss/tss_structs.h>
#include <tss/tspi.h>

TSS_RESULT Tspi_Context_UnregisterKey(TSS_HCONTEXT hContext, TSS_FLAG  persistentStorageType,
                                      TSS_UUID     uuidKey,  TSS_HKEY* phKey);

TSS_Context_UnregisterKey provides the capabilities of the TSS Core Service or TSS Service Provider

The handle of the context object.

Flag indicating the persistent storage.

The UUID of the key to be removed from the persistent storage.

Recieves the handle of a key object containing the information from the archive.

Recieves the length (in bytes) of the prgbRespData parameter.

On successful completion of the command, this parameter points to the buffer containing the actual data of the specified capability. The handle of the object to be destroyed

Tspi_Context_UnregisterKey returns TSS_SUCCESS on success, otherwise one of the following values are returned:
TSS_E_INVALID_HANDLE - the parameter hContext is an invalid parameter.
TSS_E_PS_KEY_NOTFOUND - the parameter uuidKey is an invalid UUID.
TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.

#include <trousers/tss.h>
int
main(void)
{
	TSS_FLAGS	initFlags = ...;
	TSS_HKEY	hKey, hSRK;
	TSS_UUID	keyUUID = {...};
	// Create a TSP handle
	result = Tspi_Context_Create(&hContext);
	if (result != TSS_SUCCESS)
		Error_Path();
	// Connect to the TCSD
	result = Tspi_Context_Connect(hContext, GLOBALSERVER);
	if (result != TSS_SUCCESS)
		Error_Path();
	// Create the Key Object
	result = Tspi_Context_CreateObject(hContext,
			TSS_OBJECT_TYPE_RSAKEY,
			initFlags, &hKey);
	if (result != TSS_SUCCESS)
		Error_Path();
	// Load parent Key by UUID
	result = Tspi_Context_LoadKeyByUUID(hContext, TSS_PS_TYPE_SYSTEM,
			SRK_UUID, &hSRK);
	if (result != TSS_SUCCESS)
		Error_Path();
	// Do policy/secret handling here
	result = 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();
	/* ...
	 *
	 * 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 Key
	result = Tspi_Context_UnregisterKey(hContext, TSS_PS_TYPE_SYSTEM,
			migratableSignUUID, &hKey);
	if (result != TSS_SUCCESS)
		Error_Path();
	// exit, discarding hKey
}

Tspi_Context_UnregisterKey conforms to the Trusted Computing Group Software Specification version 1.1 Golden

Tspi_Key_CreateKey(3), Tspi_Context_RegisterKey(3).
2004-05-26 TSS 1.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.