Take ownership of a tpm
#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_TPM_TakeOwnership(TSS_HTPM hTPM, TSS_HKEY hKeySRK, TSS_HKEY hEndorsementPubKey);
Tspi_TPM_TakeOwnership takes ownership of a TPM. Taking ownership is the process of inserting a shared secret into the TPM. The owner of the TPM (anyone who knows the shared secret) has the right to perform special operations.
The hTPM parameter is used to specify the handle of the TPM object.
The hKeySRK parameter is the handle to the object representing the TPM's Storage Root Key.
The hEndorsementPubKey parameter is the handle to the object representing the TPM's endorsement public key. This key is required for encrypting the secret of the SRK and the TPM owner secret. If NULL, the TSP internally queries the TPM for that endorsement public key.
Tspi_TPM_TakeOwnership returns TSS_SUCCESS on success, otherwise one of the following values is returned:
TSS_E_INVALID_HANDLE
Either the TPM or one of the key handles is not valid.
TSS_E_INTERNAL_ERROR
An internal SW error has been detected.
Tspi_TPM_TakeOwnership conforms to the Trusted Computing Group Software Specification version 1.1 Golden