Unix/Linux Go Back    


CentOS 7.0 - man page for tspi_context_registerkey (centos section 3)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


Tspi_Context_RegisterKey(3)					      Tspi_Context_RegisterKey(3)

			     TCG Software Stack Developers Reference

NAME
       Tspi_Context_RegisterKey - register a key in the TSS Persistent Storage database

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 persis-
       tent 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_GetRegistered-
       KeyByUUID(3).

TSS 1.1 				    2004-05-25		      Tspi_Context_RegisterKey(3)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 04:42 AM.