TSPI_TPM_CHECKMAINTENANCEPUBKEY(3)
π Tspi_TPM_CheckMaintenancePubKey β Library Functions Manual π
okay bestie, sit down, hydrate, because we're reading a whole page out of the TCG Software Stack Developer's Reference and it's lowkey a β¨ journey β¨. this one's Tspi_TPM_C...nancePubKey(3) (the terminal truncates it, she's a long-name girlie, we respect it).
πΈ NAME πΈ
Tspi_TPM_CheckMaintenancePubKey β checks the public maintenance key. that's it, that's the job. π
β¨ SYNOPSIS β¨
first, the vibe check β you gotta include all of these, no skipping:
#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_CheckMaintenancePubKey(TSS_HTPM hTPM, TSS_HKEY hMaintenanceKey,
TSS_VALIDATION* pValidationData);
look at that signature. she's serving. π«Ά
π¦ DESCRIPTION π¦
so Tspi_TPM_CheckMaintenancePubKey checks the public maintenance key. that's the whole point of her existence.
now here's the part where the logic gets a little β¨conditionalβ¨, so pay attention bestie:
- if
hMaintenanceKeyisNULL, thenpValidationDatamust not beNULLβ because the caller has to proof the digest on its own. no key, so you're on your own, main character energy, do it yourself. π - if
hMaintenanceKeyis notNULL, thenpValidationDatamust beNULLβ because the TSS service provider proofs the digest got internally from the TPM. she handles it. you just sit there and look pretty. π
and the key information required for proofing the public maintenance key must be set in the key object by Tspi_SetAttribData before this method is called. before. not during. not after. before. β
ngl the tea is: this function is not yet implemented. π not me hyping a function that doesn't exist yet. she's a concept. a vision. an icon we're waiting on.
π PARAMETERS π
hTPM
handle of the TPM object. that's your TPM's whole handle. π«Ά
hMaintenanceKey
handle of the maintenance key object. yes, that one. the maintenance one. π₯
pValidationData
the validation data structure. she's doing double duty:
- [IN] provide
externalDatainformation required to compute the signature. so, y'know, feed her. π - [OUT] on successful completion of the command, the structure provides a buffer containing the validation data and a buffer containing the data the validation data was computed from. so she gives you two buffers back. generous queen. π
π RETURN CODES π
Tspi_TPM_CheckMaintenancePubKey returns TSS_SUCCESS on success β slay β otherwise one of the following values are returned:
TSS_E_INVALID_HANDLEβhTPMis not a valid handle. girl, that handle is not it. πTSS_E_INTERNAL_ERRORβ an internal SW error has been detected. something broke inside and honestly same. πTSS_E_BAD_PARAMETERβ one or more of the parameters is incorrect. you passed her the wrong thing bestie, re-check your arguments. πTSS_E_NOTIMPLβ the command is not implemented. yeah. yeah. we know. see above. β¨
π CONFORMING TO π
Tspi_TPM_CheckMaintenancePubKey conforms to the Trusted Computing Group Software Specification version 1.1 Golden. certified iconic. periodt. π
π§ SEE ALSO π§
the extended universe, iykyk:
Tspi_TPM_LoadMaintenancePubKey(3)Tspi_TPM_CreateMaintenanceArchive(3)Tspi_TPM_KillMaintenanceFeature(3)
and that's the page, bestie!! go forth and β¨not call this function yetβ¨ because she's not implemented, but now you know her entire lore. π
mwah π β this has been TSS 1.1, dated 2004-05-26, from the Tspi_TPM_C...nancePubKey(3) era, and she still hasn't dropped. we wait. π¦
π¦ 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