Fapi_VerifyQuote
Feature API

## Functions

TSS2_RC | Fapi_VerifyQuote (FAPI_CONTEXT *context, char const *publicKeyPath, uint8_t const *qualifyingData, size_t qualifyingDataSize, char const *quoteInfo, uint8_t const *signature, size_t signatureSize, char const *pcrLog)
TSS2_RC | Fapi_VerifyQuote_Async (FAPI_CONTEXT *context, char const *publicKeyPath, uint8_t const *qualifyingData, size_t qualifyingDataSize, char const *quoteInfo, uint8_t const *signature, size_t signatureSize, char const *pcrLog)
TSS2_RC | Fapi_VerifyQuote_Finish (FAPI_CONTEXT *context)

## Detailed Description

FAPI functions to invoke VerifyQuote either as one-call or in an asynchronous manner.

## Function Documentation

## Fapi_VerifyQuote()

TSS2_RC Fapi_VerifyQuote | ( | FAPI_CONTEXT * | context,
|  | char const * | publicKeyPath,
|  | uint8_t const * | qualifyingData,
|  | size_t | qualifyingDataSize,
|  | char const * | quoteInfo,
|  | uint8_t const * | signature,
|  | size_t | signatureSize,
|  | char const * | pcrLog )

One-Call function for Fapi_VerifyQuote

Verifies that the data returned by a quote is valid.

Parameters

  [in,out] | context | The FAPI_CONTEXT
  [in] | publicKeyPath | The path to the signing key
  [in] | qualifyingData | The qualifying data nonce. May be NULL
  [in] | qualifyingDataSize | The size of qualifyingData in bytes. Must be 0 if qualifyingData is NULL
  [in] | quoteInfo | The quote information
  [in] | signature | The quote's signature
  [in] | signatureSize | The size of signature in bytes
  [in] | pcrLog | The PCR's log. May be NULL

Return values

  TSS2_RC_SUCCESS | if the function call was a success.
  TSS2_FAPI_RC_BAD_REFERENCE | if context, publicKeyPath, quoteInfo, or signature is NULL.
  TSS2_FAPI_RC_BAD_CONTEXT | if context corruption is detected.
  TSS2_FAPI_RC_KEY_NOT_FOUND | if path does not map to a FAPI entity.
  TSS2_FAPI_RC_BAD_KEY | if the entity at path is not a key, or is a key that is unsuitable for the requested operation.
  TSS2_FAPI_RC_BAD_VALUE | if quoteInfo, pcrEventLog, qualifyingData, or signature is invalid.
  TSS2_FAPI_RC_BAD_SEQUENCE | if the context has an asynchronous operation already pending.
  TSS2_FAPI_RC_IO_ERROR | if the data cannot be saved.
  TSS2_FAPI_RC_MEMORY | if the FAPI cannot allocate enough memory for internal operations or return parameters.
  TSS2_FAPI_RC_PATH_NOT_FOUND | if a FAPI object path was not found during authorization.
  TSS2_FAPI_RC_TRY_AGAIN | if an I/O operation is not finished yet and this function needs to be called again.
  TSS2_FAPI_RC_GENERAL_FAILURE | if an internal error occurred.
  TSS2_FAPI_RC_SIGNATURE_VERIFICATION_FAILED | if the signature could not be verified
  TSS2_FAPI_RC_NOT_PROVISIONED | FAPI was not provisioned.
  TSS2_FAPI_RC_BAD_PATH | if the path is used in inappropriate context or contains illegal characters.

## Fapi_VerifyQuote_Async()

TSS2_RC Fapi_VerifyQuote_Async | ( | FAPI_CONTEXT * | context,
|  | char const * | publicKeyPath,
|  | uint8_t const * | qualifyingData,
|  | size_t | qualifyingDataSize,
|  | char const * | quoteInfo,
|  | uint8_t const * | signature,
|  | size_t | signatureSize,
|  | char const * | pcrLog )

Asynchronous function for Fapi_VerifyQuote

Verifies that the data returned by a quote is valid. Call Fapi_VerifyQuote_Finish to finish the execution of this command.

Parameters

  [in,out] | context | The FAPI_CONTEXT
  [in] | publicKeyPath | The path to the signing key
  [in] | qualifyingData | The qualifying data nonce. May be NULL
  [in] | qualifyingDataSize | The size of qualifyingData in bytes. Must be 0 if qualifyingData is NULL
  [in] | quoteInfo | The quote information
  [in] | signature | The quote's signature
  [in] | signatureSize | The size of signature in bytes
  [in] | pcrLog | The PCR's log. May be NULL

Return values

  TSS2_RC_SUCCESS | if the function call was a success.
  TSS2_FAPI_RC_BAD_REFERENCE | if context, publicKeyPath, quoteInfo, or signature is NULL.
  TSS2_FAPI_RC_BAD_CONTEXT | if context corruption is detected.
  TSS2_FAPI_RC_KEY_NOT_FOUND | if path does not map to a FAPI entity.
  TSS2_FAPI_RC_BAD_KEY | if the entity at path is not a key, or is a key that is unsuitable for the requested operation.
  TSS2_FAPI_RC_BAD_VALUE | if quoteInfo, pcrEventLog, qualifyingData, or signature is invalid.
  TSS2_FAPI_RC_BAD_SEQUENCE | if the context has an asynchronous operation already pending.
  TSS2_FAPI_RC_IO_ERROR | if the data cannot be saved.
  TSS2_FAPI_RC_MEMORY | if the FAPI cannot allocate enough memory for internal operations or return parameters.
  TSS2_FAPI_RC_PATH_NOT_FOUND | if a FAPI object path was not found during authorization.
  TSS2_FAPI_RC_NOT_PROVISIONED | FAPI was not provisioned.
  TSS2_FAPI_RC_BAD_PATH | if the path is used in inappropriate context or contains illegal characters.

## Fapi_VerifyQuote_Finish()

TSS2_RC Fapi_VerifyQuote_Finish | ( | FAPI_CONTEXT * | context | ) |

Asynchronous finish function for Fapi_VerifyQuote

This function should be called after a previous Fapi_VerifyQuote_Async.

Parameters

  [in,out] | context | The FAPI_CONTEXT

Return values

  TSS2_RC_SUCCESS | if the function call was a success.
  TSS2_FAPI_RC_BAD_REFERENCE | if context is NULL.
  TSS2_FAPI_RC_BAD_CONTEXT | if context corruption is detected.
  TSS2_FAPI_RC_BAD_SEQUENCE | if the context has an asynchronous operation already pending.
  TSS2_FAPI_RC_IO_ERROR | if the data cannot be saved.
  TSS2_FAPI_RC_MEMORY | if the FAPI cannot allocate enough memory for internal operations or return parameters.
  TSS2_FAPI_RC_TRY_AGAIN | if the asynchronous operation is not yet complete. Call this function again later.
  TSS2_FAPI_RC_BAD_VALUE | if an invalid value was passed into the function.
  TSS2_FAPI_RC_GENERAL_FAILURE | if an internal error occurred.
  TSS2_FAPI_RC_SIGNATURE_VERIFICATION_FAILED | if the signature could not be verified