Esys_PCR_SetAuthValue(3)
π Esys_PCR_SetAuthValue(3) β the TPM2_PCR_SetAuthValue ESAPI era π
okay bestie, so this is a page from the Library Functions Manual (the tpm2-tss crew), and it's all about Esys_PCR_SetAuthValue β literally the ESAPI function for the TPM2_PCR_SetAuthValue command. π
β¨ NAME β¨
Esys_PCR_SetAuthValue β the ESAPI function for the TPM2_PCR_SetAuthValue command. that's it, that's the name section, and honestly it ate. π
π¦ SYNOPSIS β the function squad π¦
Functions
TSS2_RC Esys_PCR_SetAuthValue_Async (ESYS_CONTEXT *esysContext, ESYS_TR
pcrHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3,
const TPM2B_DIGEST *auth)
TSS2_RC Esys_PCR_SetAuthValue (ESYS_CONTEXT *esysContext, ESYS_TR
pcrHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3,
const TPM2B_DIGEST *auth)
TSS2_RC Esys_PCR_SetAuthValue_Finish (ESYS_CONTEXT *esysContext)
three functions, one little family, all returning TSS2_RC. no cap. π
πΈ Detailed Description πΈ
so basically this is the ESAPI function that lets you invoke the TPM2_PCR_SetAuthValue command β and you get to pick your vibe:
- one-call style, or
- asynchronous style.
your call, main character. β¨
π₯ Function Documentation π₯
TSS2_RC Esys_PCR_SetAuthValue (ESYS_CONTEXT * esysContext, ESYS_TR pcrHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST * auth)
One-Call function for TPM2_PCR_SetAuthValue
okay so this one is the one-call variant π β it's gonna block until the TPM response is available. like, it's not leaving the group chat until the reply lands, periodt.
quick facts, bestie:
- all input parameters are
constπ«Ά - the memory for non-simple output parameters is allocated by the function implementation β you don't gotta malloc that yourself, she handles it.
Parameters
esysContextβ theESYS_CONTEXT. (your whole world, basically)pcrHandleβ handle for a PCR that may have an authorization value set. π§shandle1β session handle for authorization ofpcrHandleshandle2β second session handle.shandle3β third session handle.authβ the desired authorization value. π
Return values
TSS2_RC_SUCCESSβ if the function call was a success. slay.TSS2_ESYS_RC_BAD_REFERENCEβ if theesysContextor required input pointers or required output handle references areNULL. πTSS2_ESYS_RC_BAD_CONTEXTβ ifesysContextcorruption is detected. πTSS2_ESYS_RC_MEMORYβ if the ESAPI cannot allocate enough memory for internal operations or return parameters.TSS2_ESYS_RC_BAD_SEQUENCEβ if the context has an asynchronous operation already pending. (girl, one thing at a time π)TSS2_ESYS_RC_INSUFFICIENT_RESPONSEβ if the TPM's response does not at least contain the tag, response length, and response code.TSS2_ESYS_RC_MALFORMED_RESPONSEβ if the TPM's response is corrupted.TSS2_ESYS_RC_RSP_AUTH_FAILEDβ if the response HMAC from the TPM did not verify. π©TSS2_ESYS_RC_MULTIPLE_DECRYPT_SESSIONSβ if more than one session has the'decrypt'attribute bit set.TSS2_ESYS_RC_MULTIPLE_ENCRYPT_SESSIONSβ if more than one session has the'encrypt'attribute bit set.TSS2_ESYS_RC_BAD_TRβ if any of theESYS_TRobjects are unknown to theESYS_CONTEXTor are of the wrong type or if requiredESYS_TRobjects areESYS_TR_NONE. πTSS2_ESYS_RC_NO_ENCRYPT_PARAMβ if one of the sessions has the'encrypt'attribute set and the command does not support encryption of the first response parameter.TSS2_RCs produced by lower layers of the software stack β may be returned to the caller unaltered unless handled internally. (the lore goes deep, iykyk π)
TSS2_RC Esys_PCR_SetAuthValue_Async (ESYS_CONTEXT * esysContext, ESYS_TR pcrHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST * auth)
Asynchronous function for TPM2_PCR_SetAuthValue
this is the asynchronous variant π β she's not sticking around. the function returns as soon as the command has been sent downwards the stack to the TPM. like, she sent the text and put her phone on do-not-disturb. π
also:
- all input parameters are
const⨠- in order to retrieve the TPM's response, you call
Esys_PCR_SetAuthValue_Finish. that's the whole point, bestie.
Parameters
esysContextβ theESYS_CONTEXT.pcrHandleβ handle for a PCR that may have an authorization value set. π§shandle1β session handle for authorization ofpcrHandleshandle2β second session handle.shandle3β third session handle.authβ the desired authorization value. π
Return values
ESYS_RC_SUCCESSβ if the function call was a success. (yes, this one's written asESYS_RC_SUCCESS, notTSS2_ESYS_RC_SUCCESSβ keeping it exactly as the page says, no editing the sacred texts π«‘)TSS2_ESYS_RC_BAD_REFERENCEβ if theesysContextor required input pointers or required output handle references areNULL.TSS2_ESYS_RC_BAD_CONTEXTβ ifesysContextcorruption is detected.TSS2_ESYS_RC_MEMORYβ if the ESAPI cannot allocate enough memory for internal operations or return parameters.TSS2_RCs produced by lower layers of the software stack β may be returned to the caller unaltered unless handled internally.TSS2_ESYS_RC_MULTIPLE_DECRYPT_SESSIONSβ if more than one session has the'decrypt'attribute bit set.TSS2_ESYS_RC_MULTIPLE_ENCRYPT_SESSIONSβ if more than one session has the'encrypt'attribute bit set.TSS2_ESYS_RC_BAD_TRβ if any of theESYS_TRobjects are unknown to theESYS_CONTEXTor are of the wrong type or if requiredESYS_TRobjects areESYS_TR_NONE.TSS2_ESYS_RC_NO_ENCRYPT_PARAMβ if one of the sessions has the'encrypt'attribute set and the command does not support encryption of the first response parameter.
TSS2_RC Esys_PCR_SetAuthValue_Finish (ESYS_CONTEXT * esysContext)
Asynchronous finish function for TPM2_PCR_SetAuthValue
the finish function β¨ β this is where you actually get the results back. the page says: "This function returns the results of a TPM2_PCR_SetAuthValue command invoked via Esys_PCR_SetAuthValue_Finish." β yep, it literally says Esys_PCR_SetAuthValue_Finish there, that's what the source page says, we don't fix, we don't touch, we report. π
more deets:
- all non-simple output parameters are allocated by the function's implementation π«Ά
NULLcan be passed for every output parameter if the value is not required β very "no thoughts, head empty, parameter optional" of her.
Parameters
esysContextβ theESYS_CONTEXT. (that's the whole list, she's low maintenance π)
Return values
TSS2_RC_SUCCESSβ on success.ESYS_RC_SUCCESSβ if the function call was a success.TSS2_ESYS_RC_BAD_REFERENCEβ if theesysContextor required input pointers or required output handle references areNULL.TSS2_ESYS_RC_BAD_CONTEXTβ ifesysContextcorruption is detected.TSS2_ESYS_RC_MEMORYβ if the ESAPI cannot allocate enough memory for internal operations or return parameters.TSS2_ESYS_RC_BAD_SEQUENCEβ if the context has an asynchronous operation already pending.TSS2_ESYS_RC_TRY_AGAINβ if the timeout counter expires before the TPM response is received. β³ (she's taking forever to reply, try again later)TSS2_ESYS_RC_INSUFFICIENT_RESPONSEβ if the TPM's response does not at least contain the tag, response length, and response code.TSS2_ESYS_RC_RSP_AUTH_FAILEDβ if the response HMAC from the TPM did not verify.TSS2_ESYS_RC_MALFORMED_RESPONSEβ if the TPM's response is corrupted.TSS2_RCs produced by lower layers of the software stack β may be returned to the caller unaltered unless handled internally.
π Author π
Generated automatically by Doxygen for tpm2-tss from the source code. like, nobody hand-wrote this, the robot did it, and honestly the robot ate. π€π
and that's the page, bestie!! πβ¨π¦
one tiny reminder before you go: this whole thing is from tpm2-tss, Version 4.1.5 β that's the source and version stamped on the footer of this man page. so when you cite it, cite it right. π«ΆππΈ
π¦ where this page comes from
- fedora 44: tpm2-tss-devel 4.1.5-1.fc44 Β· BSD-2-Clause
- fedora 44: tpm2-tss-devel 4.1.5-1.fc44 Β· BSD-2-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms