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

Functions

TSS2_RC Fapi_CreateKey (FAPI_CONTEXT *context, char const *path, char const *type, char const *policyPath, char const *authValue)
 
TSS2_RC Fapi_CreateKey_Async (FAPI_CONTEXT *context, char const *path, char const *type, char const *policyPath, char const *authValue)
 
TSS2_RC Fapi_CreateKey_Finish (FAPI_CONTEXT *context)
 

Detailed Description

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

Function Documentation

◆ Fapi_CreateKey()

Fapi_CreateKey ( FAPI_CONTEXT context,
char const *  path,
char const *  type,
char const *  policyPath,
char const *  authValue 
)

One-Call function for Fapi_CreateKey

Creates a key inside the TPM based on the Key type, using the supplied policy and authValue. The key is then stored either in the FAPI metadata store or the TPM.

Parameters
[in,out]contextThe FAPI_CONTEXT
[in]pathThe path where the new key is stored
[in]typeThe type of the new key. May be NULL
[in]policyPathThe path to the policy that is associated with the new key. May be NULL
[in]authValueThe authorization value for the new key. 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_BAD_PATHif policyPath is non-NULL and does not map to a FAPI policy.
TSS2_FAPI_RC_KEY_NOT_FOUNDif the parent key does not map to a FAPI key.
TSS2_FAPI_RC_PATH_ALREADY_EXISTSif a file already exists at path.
TSS2_FAPI_RC_BAD_VALUEif the keyType is non-NULL and 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_CreateKey_Async()

Fapi_CreateKey_Async ( FAPI_CONTEXT context,
char const *  path,
char const *  type,
char const *  policyPath,
char const *  authValue 
)

Asynchronous function for Fapi_CreateKey

Creates a key inside the TPM based on the Key type, using the supplied policy and authValue. The key is then stored either in the FAPI metadata store or the TPM.

Call Fapi_CreateKey_Finish to finish the execution of this command.

Parameters
[in,out]contextThe FAPI_CONTEXT
[in]pathThe path where the new key is stored
[in]typeThe type of the new key. May be NULL
[in]policyPathThe path to the policy that is associated with the new key. May be NULL
[in]authValueThe authorization value for the new key. 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_BAD_PATHif policyPath is non-NULL and does not map to a FAPI policy.
TSS2_FAPI_RC_KEY_NOT_FOUNDif the parent key does not map to a FAPI key.
TSS2_FAPI_RC_PATH_ALREADY_EXISTSif a file already exists at path.
TSS2_FAPI_RC_BAD_VALUEif the keyType is non-NULL and 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_CreateKey_Finish()

Fapi_CreateKey_Finish ( FAPI_CONTEXT context)

Asynchronous finish function for Fapi_CreateKey

This function should be called after a previous Fapi_CreateKey_Async.

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.