tpm2-tss  master
TPM Software stack 2.0 TCG spec compliant implementation
Fapi_CreateSeal

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

◆ Fapi_CreateSeal()

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
[in,out]contextThe FAPI_CONTEXT
[in]pathThe path to the new sealed object
[in]typeThe type of the new sealed object. May be NULL
[in]sizeThe size of the new sealed object. Must not be 0
[in]policyPathThe path to the policy that is associated with the new sealed object. May be NULL
[in]authValueThe authorization value for the new sealed object. May be NULL
[in]dataThe data that is to be sealed within the new object. May be NULL
Return values
TSS2_RC_SUCCESSif the function call was a success.
TSS2_FAPI_RC_BAD_REFERENCEif context, or path is NULL.
TSS2_FAPI_RC_BAD_CONTEXTif context corruption is detected.
TSS2_FAPI_RC_KEY_NOT_FOUNDif the parent key does not map to a FAPI key.
TSS2_FAPI_RC_BAD_PATHif policyPath is non-NULL and does not map to a FAPI key.
TSS2_FAPI_RC_PATH_ALREADY_EXISTSif a sealed object already exists at path.
TSS2_FAPI_RC_BAD_VALUEif the keyType is invalid.
TSS2_FAPI_RC_BAD_SEQUENCEif the context has an asynchronous operation already pending.
TSS2_FAPI_RC_IO_ERRORif the data cannot be saved.
TSS2_FAPI_RC_MEMORYif the FAPI cannot allocate enough memory for internal operations or return parameters.
TSS2_FAPI_RC_NO_TPMif FAPI was initialized in no-TPM-mode via its config file.
TSS2_FAPI_RC_TRY_AGAINif an I/O operation is not finished yet and this function needs to be called again.
TSS2_FAPI_RC_AUTHORIZATION_UNKNOWNif a required authorization callback is not set.
TSS2_ESYS_RC_*possible error codes of ESAPI.
TSS2_FAPI_RC_PATH_NOT_FOUNDif a FAPI object path was not found during authorization.
TSS2_FAPI_RC_GENERAL_FAILUREif an internal error occured.
TSS2_FAPI_RC_NOT_PROVISIONEDFAPI was not provisioned.
TSS2_FAPI_RC_AUTHORIZATION_FAILEDif the authorization attempt fails.
TSS2_FAPI_RC_POLICY_UNKNOWNif policy search for a certain policy digest was not successful.

◆ Fapi_CreateSeal_Async()

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
[in,out]contextThe FAPI_CONTEXT
[in]pathThe path to the new sealed object
[in]typeThe type of the new sealed object. May be NULL
[in]sizeThe size of the new sealed object. Must not be 0
[in]policyPathThe path to the policy that is associated with the new sealed object. May be NULL
[in]authValueThe authorization value for the new sealed object. May be NULL
[in]dataThe data that is to be sealed within the new object. May be NULL
Return values
TSS2_RC_SUCCESSif the function call was a success.
TSS2_FAPI_RC_BAD_REFERENCEif context, or path is NULL.
TSS2_FAPI_RC_BAD_CONTEXTif context corruption is detected.
TSS2_FAPI_RC_KEY_NOT_FOUNDif the parent key does not map to a FAPI key.
TSS2_FAPI_RC_BAD_PATHif policyPath is non-NULL and does not map to a FAPI key.
TSS2_FAPI_RC_PATH_ALREADY_EXISTSif a sealed object already exists at path.
TSS2_FAPI_RC_BAD_VALUEif the keyType is invalid.
TSS2_FAPI_RC_BAD_SEQUENCEif the context has an asynchronous operation already pending.
TSS2_FAPI_RC_IO_ERRORif the data cannot be saved.
TSS2_FAPI_RC_MEMORYif the FAPI cannot allocate enough memory for internal operations or return parameters.
TSS2_FAPI_RC_NO_TPMif FAPI was initialized in no-TPM-mode via its config file.
TSS2_FAPI_RC_PATH_NOT_FOUNDif a FAPI object path was not found during authorization.

◆ Fapi_CreateSeal_Finish()

Fapi_CreateSeal_Finish ( FAPI_CONTEXT context)

Asynchronous finish function for Fapi_CreateSeal

This function should be called after a previous Fapi_CreateSeal.

Parameters
[in,out]contextThe FAPI_CONTEXT
Return values
TSS2_RC_SUCCESSif the function call was a success.
TSS2_FAPI_RC_BAD_REFERENCEif context is NULL.
TSS2_FAPI_RC_BAD_CONTEXTif context corruption is detected.
TSS2_FAPI_RC_BAD_SEQUENCEif the context has an asynchronous operation already pending.
TSS2_FAPI_RC_IO_ERRORif the data cannot be saved.
TSS2_FAPI_RC_MEMORYif the FAPI cannot allocate enough memory for internal operations or return parameters.
TSS2_FAPI_RC_TRY_AGAINif the asynchronous operation is not yet complete. Call this function again later.
TSS2_FAPI_RC_BAD_VALUEif an invalid value was passed into the function.
TSS2_FAPI_RC_AUTHORIZATION_UNKNOWNif a required authorization callback is not set.
TSS2_ESYS_RC_*possible error codes of ESAPI.
TSS2_FAPI_RC_GENERAL_FAILUREif an internal error occured.
TSS2_FAPI_RC_NOT_PROVISIONEDFAPI was not provisioned.
TSS2_FAPI_RC_KEY_NOT_FOUNDif a key was not found.
TSS2_FAPI_RC_BAD_PATHif the path is used in inappropriate context or contains illegal characters.
TSS2_FAPI_RC_PATH_NOT_FOUNDif a FAPI object path was not found during authorization.
TSS2_FAPI_RC_AUTHORIZATION_FAILEDif the authorization attempt fails.
TSS2_FAPI_RC_POLICY_UNKNOWNif policy search for a certain policy digest was not successful.
TSS2_FAPI_RC_PATH_ALREADY_EXISTSif the object already exists in object store.