Esys_ECDH_KeyGen(3)
π Esys_ECDH_KeyGen β the TPM2_ECDH_KeyGen ESAPI glow-up π
okay so bestie, this one lives in the Library Functions Manual section, and it's the ESAPI wrapper for the TPM2_ECDH_KeyGen command. it's giving "I have three whole functions and I will use them." β¨
πΈ NAME πΈ
Esys_ECDH_KeyGen β the ESAPI function for the TPM2_ECDH_KeyGen command. literally that's it, that's the whole job π
π¦ SYNOPSIS π¦
β¨ Functions β¨
TSS2_RC Esys_ECDH_KeyGen_Async (ESYS_CONTEXT *esysContext, ESYS_TR
keyHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
TSS2_RC Esys_ECDH_KeyGen (ESYS_CONTEXT *esysContext, ESYS_TR keyHandle,
ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3,
TPM2B_ECC_POINT **zPoint, TPM2B_ECC_POINT **pubPoint)
TSS2_RC Esys_ECDH_KeyGen_Finish (ESYS_CONTEXT *esysContext,
TPM2B_ECC_POINT **zPoint, TPM2B_ECC_POINT **pubPoint)
π Detailed Description π
ESAPI function to invoke the TPM2_ECDH_KeyGen command either as a one-call or in an asynchronous manner. choose your own adventure, bestie π«Ά
π Function Documentation π
π TSS2_RC Esys_ECDH_KeyGen (ESYS_CONTEXT * esysContext, ESYS_TR keyHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPM2B_ECC_POINT ** zPoint, TPM2B_ECC_POINT ** pubPoint)
One-Call function for TPM2_ECDH_KeyGen π
this one invokes the TPM2_ECDH_KeyGen command in a one-call variant. translation: the function will block until the TPM response is available β it's not ghosting you, it's just waiting for the TPM to text back π. all input parameters are const. the memory for non-simple output parameters is allocated by the function implementation (not you, bestie, you're off the hook β¨).
π Parameters
esysContextβ TheESYS_CONTEXT.keyHandleβ Handle of a loaded ECC key public area..shandle1β First session handle.shandle2β Second session handle.shandle3β Third session handle.zPointβ Results ofP := h[de]Qs. (callee-allocated)pubPointβ Generated ephemeral public point (Qe). (callee-allocated)
π₯ 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_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_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_ECDH_KeyGen_Async (ESYS_CONTEXT * esysContext, ESYS_TR keyHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Asynchronous function for TPM2_ECDH_KeyGen π¦
this one invokes the TPM2_ECDH_KeyGen command in a asynchronous variant. meaning: the function will return as soon as the command has been sent downwards the stack to the TPM β drop the message and dip, main character energy πββοΈπ¨. all input parameters are const. and in order to retrieve the TPM's response you gotta call Esys_ECDH_KeyGen_Finish. iykyk π
π Parameters
esysContextβ TheESYS_CONTEXT.keyHandleβ Handle of a loaded ECC key public area..shandle1β First session handle.shandle2β Second session handle.shandle3β Third session handle.
π₯ 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_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_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_ECDH_KeyGen_Finish (ESYS_CONTEXT * esysContext, TPM2B_ECC_POINT ** zPoint, TPM2B_ECC_POINT ** pubPoint)
Asynchronous finish function for TPM2_ECDH_KeyGen π§
this function returns the results of a TPM2_ECDH_KeyGen command invoked via Esys_ECDH_KeyGen_Finish. all non-simple output parameters are allocated by the function's implementation. and get this β NULL can be passed for every output parameter if the value is not required. so chill, you don't have to want everything π«Ά
β¨ tiny note bestie: the original text really does say the command was invoked via Esys_ECDH_KeyGen_Finish right there in the finish function's own description β that's what it says, so that's what I'm telling you. no editing, no cap π
π Parameters
esysContextβ TheESYS_CONTEXT.zPointβ Results ofP := h[de]Qs. (callee-allocated)pubPointβ Generated ephemeral public point (Qe). (callee-allocated)
π₯ 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. slay, Doxygen, you ate π€β¨
π okay bestie that's the whole page!! this one came fromtpm2-tss, Version 4.1.5, and the man page itself isEsys_ECDH_KeyGen(3)from the Library Functions Manual. go forth and generate those ephemeral public points, ily πππ¦
π¦ 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