---
name: "Fapi_VerifySignature"
section: "3"
platform: "linux"
package: "tpm2-tss"
version: "4.2.0-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Fapi_VerifySignature"
---

# Fapi\_VerifySignature(3)

Fapi\_VerifySignature

## NAME

Fapi\_VerifySignature - Fapi\_VerifySignature

## SYNOPSIS

### Functions

TSS2\_RC **Fapi\_VerifySignature** (**FAPI\_CONTEXT** \*context, char const \*keyPath, uint8\_t const \*digest, size\_t digestSize, uint8\_t const \*signature, size\_t signatureSize)\
 TSS2\_RC **Fapi\_VerifySignature\_Async** (**FAPI\_CONTEXT** \*context, char const \*keyPath, uint8\_t const \*digest, size\_t digestSize, uint8\_t const \*signature, size\_t signatureSize)\
 TSS2\_RC **Fapi\_VerifySignature\_Finish** (**FAPI\_CONTEXT** \*context)\

## Detailed Description

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

## Function Documentation

### TSS2\_RC Fapi\_VerifySignature (FAPI\_CONTEXT \* context, char const \* keyPath, uint8\_t const \* digest, size\_t digestSize, uint8\_t const \* signature, size\_t signatureSize)

One-Call function for Fapi\_VerifySignature

Verifies a signature using a public key found in a keyPath.

**Parameters**

*context* The **FAPI\_CONTEXT** \
 *keyPath* The path to the verification public key \
 *digest* The that was signed. Must be already hashed \
 *digestSize* the size of digest in bytes \
 *signature* The signature to be verified \
 *signatureSize* The size of signature in bytes

**Return values**

*TSS2\_RC\_SUCCESS* if the function call was a success. \
 *TSS2\_FAPI\_RC\_BAD\_REFERENCE* if context, keyPath, signature, or digest is NULL. \
 *TSS2\_FAPI\_RC\_BAD\_CONTEXT* if context corruption is detected. \
 *TSS2\_FAPI\_RC\_KEY\_NOT\_FOUND* if keyPath does not map to a FAPI object. \
 *TSS2\_FAPI\_RC\_BAD\_KEY* if the object at publicKeyPath is not a key, or is a key that is unsuitable for the requested operation. \
 *TSS2\_FAPI\_RC\_BAD\_VALUE* if signature is invalid (has the wrong format) or if digestSize is zero. \
 *TSS2\_FAPI\_RC\_SIGNATURE\_VERIFICATION\_FAILED* if the signature fails to verify. \
 *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\_NOT\_PROVISIONED* FAPI was not provisioned. \
 *TSS2\_FAPI\_RC\_BAD\_PATH* if the path is used in inappropriate context or contains illegal characters.

### TSS2\_RC Fapi\_VerifySignature\_Async (FAPI\_CONTEXT \* context, char const \* keyPath, uint8\_t const \* digest, size\_t digestSize, uint8\_t const \* signature, size\_t signatureSize)

Asynchronous function for Fapi\_VerifySignature

Verifies a signature using a public key found in a keyPath.

Call Fapi\_VerifySignature\_Finish to finish the execution of this command.

**Parameters**

*context* The **FAPI\_CONTEXT** \
 *keyPath* The path to the verification public key \
 *digest* The that was signed. Must be already hashed \
 *digestSize* the size of digest in bytes \
 *signature* The signature to be verified \
 *signatureSize* The size of signature in bytes

**Return values**

*TSS2\_RC\_SUCCESS* if the function call was a success. \
 *TSS2\_FAPI\_RC\_BAD\_REFERENCE* if context, keyPath, signature, or digest is NULL. \
 *TSS2\_FAPI\_RC\_BAD\_CONTEXT* if context corruption is detected. \
 *TSS2\_FAPI\_RC\_KEY\_NOT\_FOUND* if keyPath does not map to a FAPI object. \
 *TSS2\_FAPI\_RC\_BAD\_KEY* if the object at publicKeyPath is not a key, or is a key that is unsuitable for the requested operation. \
 *TSS2\_FAPI\_RC\_BAD\_VALUE* if signature is invalid (has the wrong format) or if digestSize is zero. \
 *TSS2\_FAPI\_RC\_SIGNATURE\_VERIFICATION\_FAILED* if the signature fails to verify. \
 *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.

### TSS2\_RC Fapi\_VerifySignature\_Finish (FAPI\_CONTEXT \* context)

Asynchronous finish function for Fapi\_VerifySignature

This function should be called after a previous Fapi\_VerifySignature\_Async.

**Parameters**

*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\_GENERAL\_FAILURE* if an internal error occurred. \
 *TSS2\_FAPI\_RC\_BAD\_VALUE* if an invalid value was passed into the function. \
 *TSS2\_FAPI\_RC\_SIGNATURE\_VERIFICATION\_FAILED* if the signature could not be verified

## Author

Generated automatically by Doxygen for tpm2-tss from the source code.
