TCG Software Stack Developer's Reference
Tspi_TPM_ClearOwner - clear TPM ownership
#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_ClearOwner(TSS_HTPM hTPM, TSS_BOOL fForcedClear);
Tspi_TPM_ClearOwner wipes the TPM of everything but its endorsement key.
It will wipe the SRK, so anything locked to the SRK will also disappear when
this command is executed. This is the only way to be certain that keys are
gone, as it is the only way to guarantee that nothing can keep a copy of the
key. You must assert either physical presence or owner authorization in order
to use this command.
The hTPM parameter is used to specify the handle of the TPM object.
The fForcedClear parameter is used to tell whether this command is being
executed with owner authorization or with physical presence. If FALSE, then
TPM owner authorization is used. If TRUE, then physical presence is required
to clear the TPM.
Tspi_TPM_ClearOwner returns TSS_SUCCESS on success, otherwise one of the
following values is returned:
- TSS_E_INVALID_HANDLE
- hTPM is not a valid handle.
- TSS_E_INTERNAL_ERROR
- An internal SW error has been detected.
Tspi_TPM_ClearOwner conforms to the Trusted Computing Group Software
Specification version 1.1 Golden
Tspi_TPM_TakeOwnership(3)