Tspi_TPM_Quote2(3)

πŸ’… Tspi_TPM_Quote2(3)

okay bestie, sit down, we're reading a page from the TCG Software Stack Developer's Reference and honestly? it's a good one. this is the manual for Tspi_TPM_Quote2, and yes she's the cooler, more thorough little sister of Tspi_TPM_Quote. πŸ¦‹


✨ NAME ✨

Tspi_TPM_Quote2 β€” grab yourself a signed set of PCR values, but with a way more complete view than what Tspi_TPM_Quote gives you. it's giving "same vibe, more receipts". πŸŽ€


🌸 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_Quote2(TSS_HTPM  hTPM,          TSS_HKEY        hIdentKey,
                          TSS_BOOL   fAddVersion,     TSS_HPCRS   hPcrComposite,
                          TSS_VALIDATION* pValidationData, UINT32* versionInfoSize,
                          BYTE**  versionInfo);

look at all those includes. she comes prepared. πŸ’–


πŸ‘‘ DESCRIPTION πŸ‘‘

Tspi_TPM_Quote2 quotes a TCG system, and it hands the requestor a more complete view of the current platform configuration than Tspi_TPM_Quote does. like, same energy, but she shows you the whole fit instead of just the shoes. ✨


🫢 PARAMETERS 🫢

hTPM

the handle of the TPM object. your main character. πŸ’…

hIdentKey

the handle of the signature key object.

fAddVersion

if it's TRUE, the TPM version gets added to the output. if it's FALSE, the TPM version does not get added to the output. that's it, that's the whole toggle. πŸŽ€

hPcrComposite

the handle of the PCR composite object β€” and this one is the whole point, because it contains the PCRs that are going to be quoted. πŸ”₯

pValidationData

the validation data structure. so:

  • [IN] β€” you provide the externalData information that's required to compute the signature.
  • [OUT] β€” once the command completes successfully, this structure gives you a buffer containing the validation data, plus a buffer containing the data the validation data was computed from.

two-way street, she talks back. πŸ’œ

versionInfoSize

the size of the bytestream that versionInfo returns. heads up: if fAddVersion is False, this is zero. ⭐

versionInfo

the version information, returned as a byte stream that reflects the data in TSS_CAP_VERSION_INFO β€” but only if fAddVersion is TRUE. otherwise it's NULL. no version info, no problem. πŸ™ˆ


πŸ’€ RETURN CODES πŸ’€

Tspi_TPM_Quote returns TSS_SUCCESS when everything slays. otherwise, one of these lil guys comes back at you:

  • TSS_E_INVALID_HANDLE β€” hTPM, hIdentKey or hPcrComposite is not a valid handle. (one of them is fake, bestie 😭)
  • TSS_E_BAD_PARAMETER
  • TSS_E_INTERNAL_ERROR β€” an error happened internal to the TSS. not your fault, but still your problem. πŸ’€

🌈 CONFORMING TO 🌈

Tspi_TPM_Quote2 conforms to the Trusted Computing Group Software Specification version 1.2. certified icon behavior, no cap. πŸ‘‘


πŸ¦‹ SEE ALSO πŸ¦‹


and that's the whole page, bestie β€” you ate that. this one's from TSS 1.2, dated 2007-04-03, so she's vintage but she still understood the assignment. periodt. πŸ’–βœ¨πŸŽ€