Tspi_T...lfTest(3)
π Tspi_TPM_CertifySelfTest(3) π
okay bestie, so this one lives in the TCG Software Stack Developer's Reference (that's the manual name, cute right? the page itself is Tspi_T...lfTest(3) if you were wondering where the header went π). It's a section 3 page, it's a function, and it's about making the TPM sign its own self-test receipts. slay behavior honestly π
β¨ NAME β¨
Tspi_TPM_CertifySelfTest β have the TPM sign its self test data. that's it, that's the whole vibe. it runs the test, and if the test passes, it hands you back a signed, authenticated value. no cap π
πΈ 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_CertifySelfTest(TSS_HTPM hTPM, TSS_HKEY hKey,
TSS_VALIDATION* pValidationData );
like yes, all seven includes, don't skip any of them, they're all main characters here π«Ά
π¦ DESCRIPTION π¦
Tspi_TPM_CertifySelfTest performs a self-test of each internal TPM function, and if that test has passed, it returns an authenticated value β a signature. literally the TPM checking itself and then signing off on the result like "yeah I'm good, here's my signature proving it" β
π PARAMETERS π
π hTPM
Handle of the TPM object. your TPM's little ID badge, basically π
π hKey
Handle of the signature key object. this is the key doing the signing, so it's lowkey the one holding the pen here βοΈ
π pValidationData
Validation data structure. she's doing double duty:
- [IN] β you provide the
externalDatainformation that's required to compute the signature. - [OUT] β on successful completion of the command, the structure provides a buffer containing the validation data, plus a buffer containing the data that the validation data was computed from. two buffers, one glow-up β¨
π₯ RETURN CODES π₯
Tspi_TPM_CertifySelfTest returns TSS_SUCCESS on success. otherwise, one of these little gremlins comes back at you π
TSS_E_INVALID_HANDLEβhTPMis not a valid handle to a TPM object. the badge didn't scan, bestie πTSS_E_INTERNAL_ERRORβ an error occurred internal to the TSS. something went sideways inside the stack, not your fault fr fr π
π CONFORMING TO π
Tspi_TPM_CertifySelfTest conforms to the Trusted Computing Group Software Specification version 1.1 Golden. golden!! as in the version name. iconic behavior honestly π
π SEE ALSO π
Tspi_TPM_SelfTestFull(3)β go read her too, she's the sibling π¦
and that's the whole page, you ate it π This little reference is from TSS 1.1, dated 2004-05-26 β yes she's vintage, and yes she still serves. bye bestie, go certify something πβ¨
π¦ 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) 2004 International Business Machines Corporation
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms