Esys_EC_Ephemeral(3)
πΈ Esys_EC_Ephemeral β the ESAPI glow-up for the TPM2_EC_Ephemeral command π
okay so bestie, this is the Esys_EC_Ephemeral(3) page from the tpm2-tss library manual, and it's literally the ESAPI wrapper for the TPM2_EC_Ephemeral command. she's serving cryptography realness and i'm obsessed π
β¨ SYNOPSIS β¨
Functions
TSS2_RC Esys_EC_Ephemeral_Async (ESYS_CONTEXT *esysContext, ESYS_TR
shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMI_ECC_CURVE
curveID)
TSS2_RC Esys_EC_Ephemeral (ESYS_CONTEXT *esysContext, ESYS_TR shandle1,
ESYS_TR shandle2, ESYS_TR shandle3, TPMI_ECC_CURVE curveID,
TPM2B_ECC_POINT **Q, UINT16 *counter)
TSS2_RC Esys_EC_Ephemeral_Finish (ESYS_CONTEXT *esysContext,
TPM2B_ECC_POINT **Q, UINT16 *counter)
π¦ Detailed Description π¦
so what this is, is an ESAPI function that lets you invoke the TPM2_EC_Ephemeral command β and the way it does it? you get two vibes to choose from: either as a one-call (do everything at once, main character energy) or in an asynchronous manner (send it and dip, come back later). pick your fighter, both slay π
π Function Documentation π
π TSS2_RC Esys_EC_Ephemeral (ESYS_CONTEXT * esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMI_ECC_CURVE curveID, TPM2B_ECC_POINT ** Q, UINT16 * counter)
One-Call function for TPM2_EC_Ephemeral β the "do it all in one go" icon β
This function invokes the TPM2_EC_Ephemeral command in a one-call variant. Translation? the function will block until the TPM response is available β like, she waits, patiently, no cap. All input parameters are const (promise she won't touch ur stuff π). And the memory for non-simple output parameters is allocated by the function implementation, so you don't have to do the malloc-ing yourself, periodt π
Parameters
esysContextβ TheESYS_CONTEXT.shandle1β First session handle.shandle2β Second session handle.shandle3β Third session handle.curveIDβ The curve for the computed ephemeral point .Qβ Ephemeral public keyQ := [r]G. (callee-allocated)counterβ Least-significant 16 bits ofcommitCount.
Return values
TSS2_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_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_NO_DECRYPT_PARAMβ if one of the sessions has the 'decrypt' attribute set and the command does not support encryption of the first command parameter.TSS2_RCs produced by lower layers of the software stack β may be returned to the caller unaltered unless handled internally.
π§ TSS2_RC Esys_EC_Ephemeral_Async (ESYS_CONTEXT * esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMI_ECC_CURVE curveID)
Asynchronous function for TPM2_EC_Ephemeral β the "send it and ghost" queen π¦
This function invokes the TPM2_EC_Ephemeral command in a asynchronous variant. Which means the function will return as soon as the command has been sent downwards the stack to the TPM β she does NOT wait around, she has places to be. All input parameters are const. And in order to retrieve the TPM's response, you gotta call Esys_EC_Ephemeral_Finish. that's the whole deal, iykyk π
Parameters
esysContextβ TheESYS_CONTEXT.shandle1β First session handle.shandle2β Second session handle.shandle3β Third session handle.curveIDβ The curve for the computed ephemeral point .
Return values
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_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_NO_DECRYPT_PARAMβ if one of the sessions has the 'decrypt' attribute set and the command does not support encryption of the first command parameter.
π TSS2_RC Esys_EC_Ephemeral_Finish (ESYS_CONTEXT * esysContext, TPM2B_ECC_POINT ** Q, UINT16 * counter)
Asynchronous finish function for TPM2_EC_Ephemeral β the "soβ¦ what did she say?" follow-up text π
This function returns the results of a TPM2_EC_Ephemeral command invoked via Esys_EC_Ephemeral_Finish. All non-simple output parameters are allocated by the function's implementation. and bestie, NULL can be passed for every output parameter if the value is not required β like, don't ask for what you don't need, boundaries are iconic π
ngl the original really does say "invoked via Esys_EC_Ephemeral_Finish" β yes, the finish function referencing itself, we don't make the rules, we just transcribe them faithfully π«Ά
Parameters
esysContextβ TheESYS_CONTEXT.Qβ Ephemeral public keyQ := [r]G. (callee-allocated)counterβ Least-significant 16 bits ofcommitCount.
Return values
TSS2_RC_SUCCESSβ on successESYS_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.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. (not a human, just a very diligent little robot doing her thing π€β¨)
and that's the page!! π source is tpm2-tss, Version 4.1.5, and the manual page itself is Esys_EC_Ephemeral(3) β love that for us, mwah ππ
π«Ά
π¦ 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