---
name: "Fapi_CreateSeal"
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_CreateSeal"
---

# Fapi\_CreateSeal(3)

Fapi\_CreateSeal

## NAME

Fapi\_CreateSeal - Fapi\_CreateSeal

## SYNOPSIS

### Functions

TSS2\_RC **Fapi\_CreateSeal** (**FAPI\_CONTEXT** \*context, char const \*path, char const \*type, size\_t size, char const \*policyPath, char const \*authValue, uint8\_t const \*data)\
 TSS2\_RC **Fapi\_CreateSeal\_Async** (**FAPI\_CONTEXT** \*context, char const \*path, char const \*type, size\_t size, char const \*policyPath, char const \*authValue, uint8\_t const \*data)\
 TSS2\_RC **Fapi\_CreateSeal\_Finish** (**FAPI\_CONTEXT** \*context)\

## Detailed Description

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

## Function Documentation

### TSS2\_RC Fapi\_CreateSeal (FAPI\_CONTEXT \* context, char const \* path, char const \* type, size\_t size, char const \* policyPath, char const \* authValue, uint8\_t const \* data)

One-Call function for Fapi\_CreateSeal

Creates a sealed object and stores it in the FAPI metadata store. If no data is provided, the TPM generates random data to fill the sealed object.

**Parameters**

*context* The **FAPI\_CONTEXT** \
 *path* The path to the new sealed object \
 *type* The type of the new sealed object. May be NULL \
 *size* The size of the new sealed object. Must not be 0 \
 *policyPath* The path to the policy that is associated with the new sealed object. May be NULL \
 *authValue* The authorization value for the new sealed object. May be NULL \
 *data* The data that is to be sealed within the new object. May be NULL

**Return values**

*TSS2\_RC\_SUCCESS* if the function call was a success. \
 *TSS2\_FAPI\_RC\_BAD\_REFERENCE* if context, or path is NULL. \
 *TSS2\_FAPI\_RC\_BAD\_CONTEXT* if context corruption is detected. \
 *TSS2\_FAPI\_RC\_KEY\_NOT\_FOUND* if the parent key does not map to a FAPI key. \
 *TSS2\_FAPI\_RC\_BAD\_PATH* if policyPath is non-NULL and does not map to a FAPI key. \
 *TSS2\_FAPI\_RC\_PATH\_ALREADY\_EXISTS* if a sealed object already exists at path. \
 *TSS2\_FAPI\_RC\_BAD\_VALUE* if the keyType 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\_NO\_TPM* if FAPI was initialized in no-TPM-mode via its config file. \
 *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\_AUTHORIZATION\_UNKNOWN* if a required authorization callback is not set. \
 *TSS2\_ESYS\_RC\_\** possible error codes of ESAPI. \
 *TSS2\_FAPI\_RC\_PATH\_NOT\_FOUND* if a FAPI object path was not found during authorization. \
 *TSS2\_FAPI\_RC\_GENERAL\_FAILURE* if an internal error occured. \
 *TSS2\_FAPI\_RC\_NOT\_PROVISIONED* FAPI was not provisioned. \
 *TSS2\_FAPI\_RC\_AUTHORIZATION\_FAILED* if the authorization attempt fails. \
 *TSS2\_FAPI\_RC\_POLICY\_UNKNOWN* if policy search for a certain policy digest was not successful.

### TSS2\_RC Fapi\_CreateSeal\_Async (FAPI\_CONTEXT \* context, char const \* path, char const \* type, size\_t size, char const \* policyPath, char const \* authValue, uint8\_t const \* data)

Asynchronous function for Fapi\_CreateSeal

Creates a sealed object and stores it in the FAPI metadata store. If no data is provided, the TPM generates random data to fill the sealed object.

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

**Parameters**

*context* The **FAPI\_CONTEXT** \
 *path* The path to the new sealed object \
 *type* The type of the new sealed object. May be NULL \
 *size* The size of the new sealed object. Must not be 0 \
 *policyPath* The path to the policy that is associated with the new sealed object. May be NULL \
 *authValue* The authorization value for the new sealed object. May be NULL \
 *data* The data that is to be sealed within the new object. May be NULL

**Return values**

*TSS2\_RC\_SUCCESS* if the function call was a success. \
 *TSS2\_FAPI\_RC\_BAD\_REFERENCE* if context, or path is NULL. \
 *TSS2\_FAPI\_RC\_BAD\_CONTEXT* if context corruption is detected. \
 *TSS2\_FAPI\_RC\_KEY\_NOT\_FOUND* if the parent key does not map to a FAPI key. \
 *TSS2\_FAPI\_RC\_BAD\_PATH* if policyPath is non-NULL and does not map to a FAPI key. \
 *TSS2\_FAPI\_RC\_PATH\_ALREADY\_EXISTS* if a sealed object already exists at path. \
 *TSS2\_FAPI\_RC\_BAD\_VALUE* if the keyType 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\_NO\_TPM* if FAPI was initialized in no-TPM-mode via its config file. \
 *TSS2\_FAPI\_RC\_PATH\_NOT\_FOUND* if a FAPI object path was not found during authorization.

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

Asynchronous finish function for Fapi\_CreateSeal

This function should be called after a previous Fapi\_CreateSeal.

**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\_BAD\_VALUE* if an invalid value was passed into the function. \
 *TSS2\_FAPI\_RC\_AUTHORIZATION\_UNKNOWN* if a required authorization callback is not set. \
 *TSS2\_ESYS\_RC\_\** possible error codes of ESAPI. \
 *TSS2\_FAPI\_RC\_GENERAL\_FAILURE* if an internal error occured. \
 *TSS2\_FAPI\_RC\_NOT\_PROVISIONED* FAPI was not provisioned. \
 *TSS2\_FAPI\_RC\_KEY\_NOT\_FOUND* if a key was not found. \
 *TSS2\_FAPI\_RC\_BAD\_PATH* if the path is used in inappropriate context or contains illegal characters. \
 *TSS2\_FAPI\_RC\_PATH\_NOT\_FOUND* if a FAPI object path was not found during authorization. \
 *TSS2\_FAPI\_RC\_AUTHORIZATION\_FAILED* if the authorization attempt fails. \
 *TSS2\_FAPI\_RC\_POLICY\_UNKNOWN* if policy search for a certain policy digest was not successful. \
 *TSS2\_FAPI\_RC\_PATH\_ALREADY\_EXISTS* if the object already exists in object store.

## Author

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