.TH "Esys_CertifyCreation" 3 "Fri Oct 7 2022" "Version 3.2.0" "tpm2-tss" \" -*- nroff -*-
.ad l
.nh
.SH NAME
Esys_CertifyCreation
.SH SYNOPSIS
.br
.PP
.SS "Functions"

.in +1c
.ti -1c
.RI "TSS2_RC \fBEsys_CertifyCreation_Async\fP (\fBESYS_CONTEXT\fP *esysContext, \fBESYS_TR\fP signHandle, \fBESYS_TR\fP objectHandle, \fBESYS_TR\fP shandle1, \fBESYS_TR\fP shandle2, \fBESYS_TR\fP shandle3, const TPM2B_DATA *qualifyingData, const TPM2B_DIGEST *creationHash, const TPMT_SIG_SCHEME *inScheme, const TPMT_TK_CREATION *creationTicket)"
.br
.ti -1c
.RI "TSS2_RC \fBEsys_CertifyCreation\fP (\fBESYS_CONTEXT\fP *esysContext, \fBESYS_TR\fP signHandle, \fBESYS_TR\fP objectHandle, \fBESYS_TR\fP shandle1, \fBESYS_TR\fP shandle2, \fBESYS_TR\fP 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)"
.br
.ti -1c
.RI "TSS2_RC \fBEsys_CertifyCreation_Finish\fP (\fBESYS_CONTEXT\fP *esysContext, TPM2B_ATTEST **certifyInfo, TPMT_SIGNATURE **signature)"
.br
.in -1c
.SH "Detailed Description"
.PP 
ESAPI function to invoke the TPM2_CertifyCreation command either as a one-call or in an asynchronous manner\&. 
.SH "Function Documentation"
.PP 
.SS "TSS2_RC Esys_CertifyCreation (\fBESYS_CONTEXT\fP * esysContext, \fBESYS_TR\fP signHandle, \fBESYS_TR\fP objectHandle, \fBESYS_TR\fP shandle1, \fBESYS_TR\fP shandle2, \fBESYS_TR\fP 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
.PP
This function invokes the TPM2_CertifyCreation command in a one-call variant\&. This means the function will block until the TPM response is available\&. All input parameters are const\&. The memory for non-simple output parameters is allocated by the function implementation\&.
.PP
\fBParameters:\fP
.RS 4
\fIesysContext\fP The \fBESYS_CONTEXT\fP\&. 
.br
\fIsignHandle\fP Handle of the key that will sign the attestation block\&. 
.br
\fIobjectHandle\fP The object associated with the creation data\&. 
.br
\fIshandle1\fP Session handle for authorization of signHandle 
.br
\fIshandle2\fP Second session handle\&. 
.br
\fIshandle3\fP Third session handle\&. 
.br
\fIqualifyingData\fP User-provided qualifying data\&. 
.br
\fIcreationHash\fP Hash of the creation data produced by TPM2_Create() or TPM2_CreatePrimary()\&. 
.br
\fIinScheme\fP TPM2_Signing scheme to use if the scheme for signHandle is TPM2_ALG_NULL\&. 
.br
\fIcreationTicket\fP Ticket produced by TPM2_Create() or TPM2_CreatePrimary()\&. 
.br
\fIcertifyInfo\fP The structure that was signed\&. (callee-allocated) 
.br
\fIsignature\fP The signature over certifyInfo \&. (callee-allocated) 
.RE
.PP
\fBReturn values:\fP
.RS 4
\fITSS2_RC_SUCCESS\fP if the function call was a success\&. 
.br
\fITSS2_ESYS_RC_BAD_REFERENCE\fP if the esysContext or required input pointers or required output handle references are NULL\&. 
.br
\fITSS2_ESYS_RC_BAD_CONTEXT\fP if esysContext corruption is detected\&. 
.br
\fITSS2_ESYS_RC_MEMORY\fP if the ESAPI cannot allocate enough memory for internal operations or return parameters\&. 
.br
\fITSS2_ESYS_RC_BAD_SEQUENCE\fP if the context has an asynchronous operation already pending\&. 
.br
\fITSS2_ESYS_RC_INSUFFICIENT_RESPONSE\fP if the TPM's response does not at least contain the tag, response length, and response code\&. 
.br
\fITSS2_ESYS_RC_MALFORMED_RESPONSE\fP if the TPM's response is corrupted\&. 
.br
\fITSS2_ESYS_RC_RSP_AUTH_FAILED\fP if the response HMAC from the TPM did not verify\&. 
.br
\fITSS2_ESYS_RC_MULTIPLE_DECRYPT_SESSIONS\fP if more than one session has the 'decrypt' attribute bit set\&. 
.br
\fITSS2_ESYS_RC_MULTIPLE_ENCRYPT_SESSIONS\fP if more than one session has the 'encrypt' attribute bit set\&. 
.br
\fITSS2_ESYS_RC_BAD_TR\fP if any of the ESYS_TR objects are unknown to the \fBESYS_CONTEXT\fP or are of the wrong type or if required ESYS_TR objects are ESYS_TR_NONE\&. 
.br
\fITSS2_RCs\fP produced by lower layers of the software stack may be returned to the caller unaltered unless handled internally\&. 
.RE
.PP

.SS "TSS2_RC Esys_CertifyCreation_Async (\fBESYS_CONTEXT\fP * esysContext, \fBESYS_TR\fP signHandle, \fBESYS_TR\fP objectHandle, \fBESYS_TR\fP shandle1, \fBESYS_TR\fP shandle2, \fBESYS_TR\fP shandle3, const TPM2B_DATA * qualifyingData, const TPM2B_DIGEST * creationHash, const TPMT_SIG_SCHEME * inScheme, const TPMT_TK_CREATION * creationTicket)"
Asynchronous function for TPM2_CertifyCreation
.PP
This function invokes the TPM2_CertifyCreation command in a asynchronous variant\&. This means the function will return as soon as the command has been sent downwards the stack to the TPM\&. All input parameters are const\&. In order to retrieve the TPM's response call Esys_CertifyCreation_Finish\&.
.PP
\fBParameters:\fP
.RS 4
\fIesysContext\fP The \fBESYS_CONTEXT\fP\&. 
.br
\fIsignHandle\fP Handle of the key that will sign the attestation block\&. 
.br
\fIobjectHandle\fP The object associated with the creation data\&. 
.br
\fIshandle1\fP Session handle for authorization of signHandle 
.br
\fIshandle2\fP Second session handle\&. 
.br
\fIshandle3\fP Third session handle\&. 
.br
\fIqualifyingData\fP User-provided qualifying data\&. 
.br
\fIcreationHash\fP Hash of the creation data produced by TPM2_Create() or TPM2_CreatePrimary()\&. 
.br
\fIinScheme\fP TPM2_Signing scheme to use if the scheme for signHandle is TPM2_ALG_NULL\&. 
.br
\fIcreationTicket\fP Ticket produced by TPM2_Create() or TPM2_CreatePrimary()\&. 
.RE
.PP
\fBReturn values:\fP
.RS 4
\fIESYS_RC_SUCCESS\fP if the function call was a success\&. 
.br
\fITSS2_ESYS_RC_BAD_REFERENCE\fP if the esysContext or required input pointers or required output handle references are NULL\&. 
.br
\fITSS2_ESYS_RC_BAD_CONTEXT\fP if esysContext corruption is detected\&. 
.br
\fITSS2_ESYS_RC_MEMORY\fP if the ESAPI cannot allocate enough memory for internal operations or return parameters\&. 
.br
\fITSS2_RCs\fP produced by lower layers of the software stack may be returned to the caller unaltered unless handled internally\&. 
.br
\fITSS2_ESYS_RC_MULTIPLE_DECRYPT_SESSIONS\fP if more than one session has the 'decrypt' attribute bit set\&. 
.br
\fITSS2_ESYS_RC_MULTIPLE_ENCRYPT_SESSIONS\fP if more than one session has the 'encrypt' attribute bit set\&. 
.br
\fITSS2_ESYS_RC_BAD_TR\fP if any of the ESYS_TR objects are unknown to the \fBESYS_CONTEXT\fP or are of the wrong type or if required ESYS_TR objects are ESYS_TR_NONE\&. 
.RE
.PP

.SS "TSS2_RC Esys_CertifyCreation_Finish (\fBESYS_CONTEXT\fP * esysContext, TPM2B_ATTEST ** certifyInfo, TPMT_SIGNATURE ** signature)"
Asynchronous finish function for TPM2_CertifyCreation
.PP
This function returns the results of a TPM2_CertifyCreation command invoked via Esys_CertifyCreation_Finish\&. 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\&.
.PP
\fBParameters:\fP
.RS 4
\fIesysContext\fP The \fBESYS_CONTEXT\fP\&. 
.br
\fIcertifyInfo\fP The structure that was signed\&. (callee-allocated) 
.br
\fIsignature\fP The signature over certifyInfo \&. (callee-allocated) 
.RE
.PP
\fBReturn values:\fP
.RS 4
\fITSS2_RC_SUCCESS\fP on success 
.br
\fIESYS_RC_SUCCESS\fP if the function call was a success\&. 
.br
\fITSS2_ESYS_RC_BAD_REFERENCE\fP if the esysContext or required input pointers or required output handle references are NULL\&. 
.br
\fITSS2_ESYS_RC_BAD_CONTEXT\fP if esysContext corruption is detected\&. 
.br
\fITSS2_ESYS_RC_MEMORY\fP if the ESAPI cannot allocate enough memory for internal operations or return parameters\&. 
.br
\fITSS2_ESYS_RC_BAD_SEQUENCE\fP if the context has an asynchronous operation already pending\&. 
.br
\fITSS2_ESYS_RC_TRY_AGAIN\fP if the timeout counter expires before the TPM response is received\&. 
.br
\fITSS2_ESYS_RC_INSUFFICIENT_RESPONSE\fP if the TPM's response does not at least contain the tag, response length, and response code\&. 
.br
\fITSS2_ESYS_RC_RSP_AUTH_FAILED\fP if the response HMAC from the TPM did not verify\&. 
.br
\fITSS2_ESYS_RC_MALFORMED_RESPONSE\fP if the TPM's response is corrupted\&. 
.br
\fITSS2_RCs\fP produced by lower layers of the software stack may be returned to the caller unaltered unless handled internally\&. 
.RE
.PP

.SH "Author"
.PP 
Generated automatically by Doxygen for tpm2-tss from the source code\&.