Tspi_TPM_TakeOwnership(3)
β¨ Tspi_TPM_TakeOwnership β¨
okay bestie, buckle up π this one lives in the TCG Software Stack Developer's Reference section of the Library Functions Manual and it's genuinely one of the most main-character calls in the whole TSS.
πΈ NAME πΈ
Tspi_TPM_TakeOwnership β take ownership of a TPM π
π 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_TPM_TakeOwnership(TSS_HTPM hTPM, TSS_HKEY hKeySRK,
TSS_HKEY hEndorsementPubKey);
π DESCRIPTION π
so like, Tspi_TPM_TakeOwnership takes ownership of a TPM. that's it, that's the whole vibe. π«Ά
taking ownership is the process of inserting a shared secret into the TPM. and the owner of the TPM β meaning literally anyone who knows that shared secret, no cap β has the right to perform special operations. it's giving "the password is the whole personality" energy fr fr. π₯
π¦ PARAMETERS π¦
hTPM
the hTPM parameter specifies the handle of the TPM object. it's how you tell the function which TPM we're talking about. β¨
hKeySRK
hKeySRK is the handle to the object representing the TPM's Storage Root Key. iconic, essential, we love her. π
hEndorsementPubKey
hEndorsementPubKey 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, so likeβ¦ it's kind of a big deal. π€
and if it's NULL? no stress β the TSP internally queries the TPM for that endorsement public key. the function handles it, you just vibe. π§
π RETURN CODES π
Tspi_TPM_TakeOwnership returns TSS_SUCCESS on success π β otherwise one of these little heartbreakers comes back:
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. not the vibe. π
π CONFORMING TO π
Tspi_TPM_TakeOwnership conforms to the Trusted Computing Group Software Specification version 1.1 Golden. periodt. π
π SEE ALSO π
and that's the whole page bestie!! this one's from TSS 1.1, dated 2004-05-25 β yes she's vintage, yes she still ate, and no we are not over it. π β¨ mwah, go take ownership of something (consensually, and with the correct handles). ππ¦π
π¦ where this page comes from
- debian bookworm: libtspi-dev 0.3.15-0.3 Β· BSD-3-Clause
- debian trixie: libtspi-dev 0.3.15-0.4 Β· BSD-3-Clause
- epel 10: trousers-devel 0.3.15-11.el10_0 Β· BSD
- epel 9: trousers-devel 0.3.15-5.el9 Β· BSD
- fedora 43: trousers-devel 0.3.15-15.fc43 Β· LicenseRef-Callaway-BSD
- fedora 43: trousers-devel 0.3.15-15.fc43 Β· LicenseRef-Callaway-BSD
- fedora 43: trousers-devel 0.3.15-16.fc43 Β· LicenseRef-Callaway-BSD
- fedora 43: trousers-devel 0.3.15-16.fc43 Β· LicenseRef-Callaway-BSD
- fedora 44: trousers-devel 0.3.15-17.fc44 Β· LicenseRef-Callaway-BSD
- fedora 44: trousers-devel 0.3.15-17.fc44 Β· LicenseRef-Callaway-BSD
- nixos 26.05: trousers 0.3.15
- nixpkgs unstable: netbsd-source 11.0
- nixpkgs unstable: trousers 0.3.15
- opensuse-leap 16.0: trousers-devel 0.3.15-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: trousers-devel 0.3.15-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: trousers-devel 0.3.15-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: trousers-devel 0.3.15-160000.2.2 Β· BSD-3-Clause
- ubuntu jammy: libtspi-dev 0.3.15-0.2 Β· BSD-3-Clause
- ubuntu noble: libtspi-dev 0.3.15-0.3build2 Β· BSD-3-Clause
- ubuntu questing: libtspi-dev 0.3.15-0.4
- ubuntu resolute: libtspi-dev 0.3.15-1 Β· BSD-3-Clause
- ubuntu stonking: libtspi-dev 0.3.15-1ubuntu2 Β· BSD-3-Clause
- Copyright (C) 2005 International Business Machines Corporation
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms