FAPI functions to invoke GetRandom either as one-call or in an asynchronous manner.
◆ Fapi_GetRandom()
Fapi_GetRandom |
( |
FAPI_CONTEXT * |
context, |
|
|
size_t |
numBytes, |
|
|
uint8_t ** |
data |
|
) |
| |
One-Call function for Fapi_GetRandom
Creates an array with a specified number of bytes. May execute the underlying TPM command multiple times if the requested number of bytes is too big.
- Parameters
-
[in,out] | context | The FAPI_CONTEXT |
[in] | numBytes | The number of bytes requested from the TPM |
[out] | data | The array of random bytes returned from the TPM |
- Return values
-
TSS2_RC_SUCCESS | if the function call was a success. |
TSS2_FAPI_RC_BAD_REFERENCE | if context or data is NULL. |
TSS2_FAPI_RC_BAD_CONTEXT | if context corruption is detected. |
TSS2_FAPI_RC_BAD_VALUE | if numBytes is 0. |
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_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. |
TSS2_FAPI_RC_BAD_PATH | if the path is used in inappropriate context or contains illegal characters. |
◆ Fapi_GetRandom_Async()
Fapi_GetRandom_Async |
( |
FAPI_CONTEXT * |
context, |
|
|
size_t |
numBytes |
|
) |
| |
Asynchronous function for Fapi_GetRandom
Creates an array with a specified number of bytes. May execute the underlying TPM command multiple times if the requested number of bytes is too big.
Call Fapi_GetRandom_Finish to finish the execution of this command.
- Parameters
-
[in,out] | context | The FAPI_CONTEXT |
[in] | numBytes | The number of bytes requested from the TPM |
- 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_VALUE | if numBytes is 0. |
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_FAPI_RC_KEY_NOT_FOUND | if a key was not found. |
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. |
◆ Fapi_GetRandom_Finish()
Fapi_GetRandom_Finish |
( |
FAPI_CONTEXT * |
context, |
|
|
uint8_t ** |
data |
|
) |
| |
Asynchronous finish function for Fapi_GetRandom
This function should be called after a previous Fapi_GetRandom_Async.
- Parameters
-
[in,out] | context | The FAPI_CONTEXT |
[out] | data | The array of random bytes returned from the TPM |
- Return values
-
TSS2_RC_SUCCESS | if the function call was a success. |
TSS2_FAPI_RC_BAD_REFERENCE | if context or data 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_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. |