Create a key pair within the tpm, wrapping it with the key addressed by hwrappingkey.
#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_Key_CreateKey(TSS_HKEY hKey, TSS_HKEY hWrappingKey, TSS_HPCRS hPcrComposite);
TSS_Key_CreateKey calls the TPM command TPM_CreateWrapKey. If hPcrComposite is not set to NULL, the created key blob is bound to this PCR values. The key object addressed by hKey must contain the key information needed for the creation.
The handle of the key object to create.
The handle to the key used to wrap the newly created key.
The handle to an object, if the value of the handle doesn't equal NULL, the newly create key will be bound ot the PCR values described with this object.
Tspi_Key_CreateKey returns TSS_SUCCESS on success, otherwise one of the following values are returned:
TSS_E_INVALID_HANDLE - Either hKey, hWrappingKey or hPcrComposite are invalid parameters.
TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
Tspi_Key_CreateKey conforms to the Trusted Computing Group Software Specification version 1.1 Golden
Tspi_Key_WrapKey(3), Tspi_Key_CertifyKey(3), Tspi_Key_RegisterKey(3).