Fapi_ChangeAuth
Feature API

## Functions

TSS2_RC | Fapi_ChangeAuth (FAPI_CONTEXT *context, char const *entityPath, char const *authValue)
TSS2_RC | Fapi_ChangeAuth_Async (FAPI_CONTEXT *context, char const *entityPath, char const *authValue)
TSS2_RC | Fapi_ChangeAuth_Finish (FAPI_CONTEXT *context)

## Detailed Description

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

## Function Documentation

## Fapi_ChangeAuth()

TSS2_RC Fapi_ChangeAuth | ( | FAPI_CONTEXT * | context,
|  | char const * | entityPath,
|  | char const * | authValue )

One-Call function for Fapi_ChangeAuth

Changes the Authorization data of an entity found at keyPath. The parameter authValue is a 0-terminated UTF-8 encoded password. If it is longer than the digest size of the entity's nameAlg, it will be hashed according the the TPM specification part 1, rev 138, section 19.6.4.3.

Parameters

  [in,out] | context | The FAPI_CONTEXT
  [in] | entityPath | The path to the entity to modify
  [in] | authValue | The new 0-terminated password to set for the entity. May be NULL

Return values

  TSS2_RC_SUCCESS | if the function call was a success.
  TSS2_FAPI_RC_BAD_REFERENCE | if context or entityPath is NULL.
  TSS2_FAPI_RC_BAD_CONTEXT | if context corruption is detected.
  TSS2_FAPI_RC_BAD_PATH | if entityPath does not map to a FAPI entity.
  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_BAD_VALUE | if an invalid value was passed into the function.
  TSS2_FAPI_RC_PATH_NOT_FOUND | if a FAPI object path was not found during authorization.
  TSS2_FAPI_RC_KEY_NOT_FOUND | if a key was not found.
  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_AUTHORIZATION_UNKNOWN | if a required authorization callback is not set.
  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_ESYS_RC_* | possible error codes of ESAPI.
  TSS2_FAPI_RC_NOT_PROVISIONED | FAPI was not provisioned.

## Fapi_ChangeAuth_Async()

TSS2_RC Fapi_ChangeAuth_Async | ( | FAPI_CONTEXT * | context,
|  | char const * | entityPath,
|  | char const * | authValue )

Asynchronous function for Fapi_ChangeAuth

Changes the Authorization data of an entity found at keyPath. The parameter authValue is a 0-terminated UTF-8 encoded password. If it is longer than the digest size of the entity's nameAlg, it will be hashed according the the TPM specification part 1, rev 138, section 19.6.4.3.

Call Fapi_ChangeAuth_Finish to finish the execution of this command.

Parameters

  [in,out] | context | The FAPI_CONTEXT
  [in] | entityPath | The path to the entity to modify
  [in] | authValue | The new 0-terminated password to set for the entity. May be NULL

Return values

  TSS2_RC_SUCCESS | if the function call was a success.
  TSS2_FAPI_RC_BAD_REFERENCE | if context or entityPath is NULL.
  TSS2_FAPI_RC_BAD_CONTEXT | if context corruption is detected.
  TSS2_FAPI_RC_BAD_PATH | if entityPath does not map to a FAPI entity.
  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_BAD_VALUE | if an invalid value was passed into the function.
  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_FAPI_RC_KEY_NOT_FOUND | if a key was not found.
  TSS2_FAPI_RC_NOT_PROVISIONED | FAPI was not provisioned.

## Fapi_ChangeAuth_Finish()

TSS2_RC Fapi_ChangeAuth_Finish | ( | FAPI_CONTEXT * | context | ) |

Asynchronous finish function for Fapi_ChangeAuth

This function should be called after a previous Fapi_ChangeAuth_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_PATH_NOT_FOUND | if a FAPI object path was not found during authorization.
  TSS2_FAPI_RC_KEY_NOT_FOUND | if a key was not found.
  TSS2_FAPI_RC_AUTHORIZATION_UNKNOWN | if a required authorization callback is not set.
  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_ESYS_RC_* | possible error codes of ESAPI.
  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.