NAME
Tspi_Context_CreateObject - create an empty object and return a handle
to that object.
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_CreateObject(TSS_HCONTEXT hContext, TSS_FLAG objectType,
TSS_FLAG initFlags, TSS_HOBJECT* phObject);
DESCRIPTION
TSS_Context_CreateObject creates and initializes an empty object of the
specified type and returns a handle addressing that object. The object
is bound to an already opened context hContext.
PARAMETERS
hContext
The handle of the context object.
objectType
Flag indicating the object type to create. Possible types are:
TSS_OBJECT_TYPE_POLICY - a policy object.
TSS_OBJECT_TYPE_ENCDATA - an encrypted data object (either sealed or
bound data).
TSS_OBJECT_TYPE_RSAKEY - an RSA key.
TSS_OBJECT_TYPE_PCRS - a PCR composite object.
TSS_OBJECT_TYPE_HASH - a hash object.
initFlags
Flag indicating the default attributes of the object. Attributes for
each type of object are:
Policy:
TSS_POLICY_USAGE - a usage policy (for authorization to use an
object).
TSS_POLICY_MIGRATION - a migration policy.
Encrypted data objects:
TSS_ENCDATA_SEAL - A data object used for a Seal operation.
TSS_ENCDATA_BIND - A data object used for a Bind operation.
TSS_ENCDATA_LEGACY - A data object for a bind operation using a
legacy key.
RSA Keys:
TSS_KEY_SIZE_DEFAULT - Use the default key size of the TCS
you’re connected to.
TSS_KEY_SIZE_512 - Create a 512 bit key.
TSS_KEY_SIZE_1024 - Create a 1024 bit key.
TSS_KEY_SIZE_2048 - Create a 2048 bit key.
TSS_KEY_SIZE_4096 - Create a 4096 bit key.
TSS_KEY_SIZE_8192 - Create a 8192 bit key.
TSS_KEY_SIZE_16384 - Create a 16384 bit key.
TSS_KEY_TYPE_STORAGE - Create a storage key. (Used to wrap
other keys).
TSS_KEY_TYPE_SIGNING - Create a signing key.
TSS_KEY_TYPE_BIND - Create a binding key. (Used to encrypt
data).
TSS_KEY_TYPE_IDENTITY - Create an identity key. (Used for an
identity).
TSS_KEY_TYPE_LEGACY - Create a legacy key. (Can be used for
signing and binding, created from data external to a TSS).
TSS_KEY_TYPE_AUTHCHANGE - Create an ephemeral key used to
change authorization values.
TSS_KEY_VOLATILE - Create a volatile key. (Must be unloaded at
startup).
TSS_KEY_NON_VOLATILE - Create a non-volatile key. (May be
unloaded at startup).
TSS_KEY_MIGRATABLE - Create a migratable key.
TSS_KEY_NOT_MIGRATABLE - Create a non-migratable key. [DEFAULT]
TSS_KEY_AUTHORIZATION - Key will require authorization.
TSS_KEY_NO_AUTHORIZATION - Key will not require authorization.
[DEFAULT]
TSS_KEY_EMPTY_KEY - Key template which will be returned as an
object with very few attributes.
PCR composite objects:
None.
Hash objects:
TSS_HASH_SHA1 - a hash object of type SHA-1.
TSS_HASH_OTHER - a hash object of type other than SHA-1.
phObject
The handle of the object to be created.
RETURN CODES
Tspi_Context_CreateObject returns TSS_SUCCESS on success, otherwise one
of the following values are returned:
TSS_E_INVALID_HANDLE - Either hContext or phObject is an invalid
handle.
TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
CONFORMING TO
Tspi_Context_CreateObject conforms to the Trusted Computing Group
Software Specification version 1.1 Golden
SEE ALSO
Tspi_Context_CloseObject(3).