Esys_CertifyCreation(3)

πŸ’– Esys_CertifyCreation(3) πŸ’–

fresh out of the Library Functions Manual β€” ESAPI TPM2_CertifyCreation content, bestie 🫢

🌸 NAME 🌸

Esys_CertifyCreation β€” the ESAPI function for the TPM2_CertifyCreation command. That's the whole vibe of this page, and yes, it's giving cryptographic attestation main character energy πŸ”₯

✨ SYNOPSIS ✨

🧚 Functions 🧚

  • Esys_CertifyCreation_Async β€” the async girlie πŸ’… signature below:
TSS2_RC Esys_CertifyCreation_Async (ESYS_CONTEXT *esysContext, ESYS_TR
    signHandle, ESYS_TR objectHandle, ESYS_TR shandle1, ESYS_TR
    shandle2, ESYS_TR shandle3, const TPM2B_DATA *qualifyingData, const
    TPM2B_DIGEST *creationHash, const TPMT_SIG_SCHEME *inScheme, const
    TPMT_TK_CREATION *creationTicket)
  • Esys_CertifyCreation β€” the one-call icon πŸ‘‘ signature below:
TSS2_RC Esys_CertifyCreation (ESYS_CONTEXT *esysContext, ESYS_TR
    signHandle, ESYS_TR objectHandle, ESYS_TR shandle1, ESYS_TR
    shandle2, ESYS_TR shandle3, const TPM2B_DATA *qualifyingData, const
    TPM2B_DIGEST *creationHash, const TPMT_SIG_SCHEME *inScheme, const
    TPMT_TK_CREATION *creationTicket, TPM2B_ATTEST **certifyInfo,
    TPMT_SIGNATURE **signature)
  • Esys_CertifyCreation_Finish β€” the finish-line fairy 🧚 signature below:
TSS2_RC Esys_CertifyCreation_Finish (ESYS_CONTEXT *esysContext,
    TPM2B_ATTEST **certifyInfo, TPMT_SIGNATURE **signature)

πŸ’« Detailed Description πŸ’«

ESAPI function to invoke the TPM2_CertifyCreation command either as a one-call or in an asynchronous manner. Slay πŸ’…

πŸ’… Function Documentation πŸ’…

🌟 Esys_CertifyCreation β€” One-Call function for TPM2_CertifyCreation 🌟

TSS2_RC Esys_CertifyCreation (ESYS_CONTEXT *esysContext, ESYS_TR
    signHandle, ESYS_TR objectHandle, ESYS_TR shandle1, ESYS_TR
    shandle2, ESYS_TR shandle3, const TPM2B_DATA *qualifyingData, const
    TPM2B_DIGEST *creationHash, const TPMT_SIG_SCHEME *inScheme, const
    TPMT_TK_CREATION *creationTicket, TPM2B_ATTEST **certifyInfo,
    TPMT_SIGNATURE **signature)

One-Call function for TPM2_CertifyCreation.

This function invokes the TPM2_CertifyCreation command in a one-call variant. That means it will block until the TPM response is available β€” no sneaky background texting, bestie, it waits for the reply 😭 All input parameters are const. The memory for non-simple output parameters is allocated by the function implementation. Very demure, very mindful of memory πŸŽ€

🧸 Parameters 🧸

  • esysContext β€” The ESYS_CONTEXT.
  • signHandle β€” Handle of the key that will sign the attestation block.
  • objectHandle β€” The object associated with the creation data.
  • shandle1 β€” Session handle for authorization of signHandle
  • shandle2 β€” Second session handle.
  • shandle3 β€” Third session handle.
  • qualifyingData β€” User-provided qualifying data.
  • creationHash β€” Hash of the creation data produced by TPM2_Create() or TPM2_CreatePrimary().
  • inScheme β€” TPM2_Signing scheme to use if the scheme for signHandle is TPM2_ALG_NULL.
  • creationTicket β€” Ticket produced by TPM2_Create() or TPM2_CreatePrimary().
  • certifyInfo β€” The structure that was signed. (callee-allocated)
  • signature β€” The signature over certifyInfo . (callee-allocated)

🎯 Return values 🎯

  • TSS2_RC_SUCCESS if the function call was a success.
  • TSS2_ESYS_RC_BAD_REFERENCE if the esysContext or required input pointers or required output handle references are NULL.
  • TSS2_ESYS_RC_BAD_CONTEXT if esysContext corruption 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 the ESYS_TR objects are unknown to the ESYS_CONTEXT or are of the wrong type or if required ESYS_TR objects are ESYS_TR_NONE.
  • TSS2_RCs produced by lower layers of the software stack may be returned to the caller unaltered unless handled internally.

🌈 Esys_CertifyCreation_Async β€” Asynchronous function for TPM2_CertifyCreation 🌈

TSS2_RC Esys_CertifyCreation_Async (ESYS_CONTEXT *esysContext, ESYS_TR
    signHandle, ESYS_TR objectHandle, ESYS_TR shandle1, ESYS_TR
    shandle2, ESYS_TR shandle3, const TPM2B_DATA *qualifyingData, const
    TPM2B_DIGEST *creationHash, const TPMT_SIG_SCHEME *inScheme, const
    TPMT_TK_CREATION *creationTicket)

Asynchronous function for TPM2_CertifyCreation.

This function invokes the TPM2_CertifyCreation command in an asynchronous variant. Translation: it returns as soon as the command has been sent downwards the stack to the TPM β€” no waiting around for the whole reply, she's busy πŸ’… All input parameters are const. In order to retrieve the TPM's response, call Esys_CertifyCreation_Finish.

🧸 Parameters 🧸

  • esysContext β€” The ESYS_CONTEXT.
  • signHandle β€” Handle of the key that will sign the attestation block.
  • objectHandle β€” The object associated with the creation data.
  • shandle1 β€” Session handle for authorization of signHandle
  • shandle2 β€” Second session handle.
  • shandle3 β€” Third session handle.
  • qualifyingData β€” User-provided qualifying data.
  • creationHash β€” Hash of the creation data produced by TPM2_Create() or TPM2_CreatePrimary().
  • inScheme β€” TPM2_Signing scheme to use if the scheme for signHandle is TPM2_ALG_NULL.
  • creationTicket β€” Ticket produced by TPM2_Create() or TPM2_CreatePrimary().

🎯 Return values 🎯

  • ESYS_RC_SUCCESS if the function call was a success.
  • TSS2_ESYS_RC_BAD_REFERENCE if the esysContext or required input pointers or required output handle references are NULL.
  • TSS2_ESYS_RC_BAD_CONTEXT if esysContext corruption 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 the ESYS_TR objects are unknown to the ESYS_CONTEXT or are of the wrong type or if required ESYS_TR objects are ESYS_TR_NONE.

πŸ¦‹ Esys_CertifyCreation_Finish β€” Asynchronous finish function for TPM2_CertifyCreation πŸ¦‹

TSS2_RC Esys_CertifyCreation_Finish (ESYS_CONTEXT *esysContext,
    TPM2B_ATTEST **certifyInfo, TPMT_SIGNATURE **signature)

Asynchronous finish function for TPM2_CertifyCreation.

This function returns the results of a TPM2_CertifyCreation command invoked via Esys_CertifyCreation_Finish. Yes, that's what the page says, bestie β€” I'm not editing the lore 😭 All non-simple output parameters are allocated by the function's implementation. NULL can be passed for every output parameter if the value is not required. Flexible and iconic πŸŽ€

🧸 Parameters 🧸

  • esysContext β€” The ESYS_CONTEXT.
  • certifyInfo β€” The structure that was signed. (callee-allocated)
  • signature β€” The signature over certifyInfo . (callee-allocated)

🎯 Return values 🎯

  • TSS2_RC_SUCCESS on success
  • ESYS_RC_SUCCESS if the function call was a success.
  • TSS2_ESYS_RC_BAD_REFERENCE if the esysContext or required input pointers or required output handle references are NULL.
  • TSS2_ESYS_RC_BAD_CONTEXT if esysContext corruption 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. The robots wrote it, I just gave it the group-chat remix πŸ’–


footer info, cute-sign-off style: source tpm2-tss, Version 4.1.5, page Esys_CertifyCreation(3) β€” no date printed on this footer, and honestly that's a mood πŸ™ˆπŸ’…
πŸ“¦ where this page comes from