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 hMaintenanceKey is NULL, then pValidationData must not be NULL β€” 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 hMaintenanceKey is not NULL, then pValidationData must be NULL β€” 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 externalData information 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 β€” hTPM is 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:


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. πŸ¦‹