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


Manual Reference Pages  -  TSPI_CONTEXT_REGISTERKEY (3)

TCG Software Stack Developers Reference

NAME

Tspi_Context_RegisterKey - register a key in the TSS Persistent Storage database

CONTENTS

SYNOPSIS


#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_RegisterKey(TSS_HCONTEXT hContext, TSS_HKEY hKey, TSS_FLAG persistentStorageType, TSS_UUID uuidKey, TSS_FLAG persistentStorageTypeParent, TSS_UUID uuidParentKey);

DESCRIPTION

Tspi_Context_RegisterKey is the API that registers a key with the TSS Persistent Storage database so that it can be loaded as necessary. It also includes all information required for loading the key, as well as information about its parent key.

PARAMETERS

    hContext

The hContext parameter is the handle of the context object.

    hKey

The hKey parameter is the handle of the key object addressing the key to be registered.

    persistentStorageType

The persistentStorageType parameter indicates the persistent storage the key is registered in.

    uuidKey

The uuidKey parameter is the UUID by which the key is registered in persistent storage.

    persistentStorageTypeParent

The persistentStorageTypeParent parameter indicates the persistent storage that the parent key is registered in.

    uuidParentKey

The uuidParentKey parameter is the UUID by which the parent key is registered in persistent storage.

RETURN CODES

Tspi_Context_RegisterKey returns TSS_SUCCESS on success, otherwise one of the following values is returned:
TSS_E_INVALID_HANDLE
  hContext is not a valid handle.

TSS_E_PS_KEY_NOTFOUND
  The key cannot be found in the persistent storage database.

TSS_E_INTERNAL_ERROR
  An internal SW error has been detected.

TSS_E_BAD_PARAMETER
  One or more parameters is bad.

EXAMPLE

#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 }

CONFORMING TO

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

SEE ALSO

Tspi_Context_UnregisterKey(3), Tspi_Context_LoadKeyByUUID(3), Tspi_Context_GetRegisteredKeyByUUID(3).

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


TSS 1.1 TSPI_CONTEXT_REGISTERKEY (3) 2004-05-25

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