tpm2-tss
master
TPM Software stack 2.0 TCG spec compliant implementation
|
Functions | |
TSS2_RC | Fapi_Encrypt (FAPI_CONTEXT *context, char const *keyPath, uint8_t const *plainText, size_t plainTextSize, uint8_t **cipherText, size_t *cipherTextSize) |
TSS2_RC | Fapi_Encrypt_Async (FAPI_CONTEXT *context, char const *keyPath, uint8_t const *plainText, size_t plainTextSize) |
TSS2_RC | Fapi_Encrypt_Finish (FAPI_CONTEXT *context, uint8_t **cipherText, size_t *cipherTextSize) |
FAPI functions to invoke Encrypt either as one-call or in an asynchronous manner.
TSS2_RC Fapi_Encrypt | ( | FAPI_CONTEXT * | context, |
char const * | keyPath, | ||
uint8_t const * | plainText, | ||
size_t | plainTextSize, | ||
uint8_t ** | cipherText, | ||
size_t * | cipherTextSize | ||
) |
One-Call function for Fapi_Encrypt
Encrypt the provided data for the target key using the TPM encryption schemes as specified in the crypto profile. This function does not use the TPM; i.e. works in non-TPM mode.
[in,out] | context | The FAPI_CONTEXT |
[in] | keyPath | THe path to the encryption key |
[in] | plainText | The plaintext data to encrypt |
[in] | plainTextSize | The size of the plainText in bytes |
[out] | cipherText | The encoded cipher text. |
[out] | cipherTextSize | The size of the encoded cipher text. |
TSS2_RC_SUCCESS | if the function call was a success. |
TSS2_FAPI_RC_BAD_REFERENCE | if context, keyPath, plainText, or cipherText is NULL. |
TSS2_FAPI_RC_BAD_CONTEXT | if context corruption is detected. |
TSS2_FAPI_RC_KEY_NOT_FOUND | if keyPath does not map to a FAPI key. |
TSS2_FAPI_RC_BAD_KEY | if the key at keyPath is unsuitable for encryption. |
TSS2_FAPI_RC_BAD_VALUE | if plainTextSize is 0. |
TSS2_FAPI_RC_BAD_SEQUENCE | if the context has an asynchronous operation already pending. |
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_IO_ERROR | if an error occurred while accessing the object store. |
TSS2_FAPI_RC_NOT_IMPLEMENTED | if the encryption algorithm is not available. |
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_PATH_NOT_FOUND | if a FAPI object path was not found during authorization. |
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. |
TSS2_RC Fapi_Encrypt_Async | ( | FAPI_CONTEXT * | context, |
char const * | keyPath, | ||
uint8_t const * | plainText, | ||
size_t | plainTextSize | ||
) |
Asynchronous function for Fapi_Encrypt
Encrypt the provided data for the target key using the TPM encryption schemes as specified in the crypto profile. This function does not use the TPM; i.e. works in non-TPM mode.
Call Fapi_Encrypt_Finish to finish the execution of this command.
[in,out] | context | The FAPI_CONTEXT |
[in] | keyPath | The path to the encryption key |
[in] | plainText | The plainText data to encrypt |
[in] | plainTextSize | The size of the plainText in bytes |
TSS2_RC_SUCCESS | if the function call was a success. |
TSS2_FAPI_RC_BAD_REFERENCE | if context, keyPath or plainText is NULL. |
TSS2_FAPI_RC_BAD_CONTEXT | if context corruption is detected. |
TSS2_FAPI_RC_KEY_NOT_FOUND | if keyPath does not map to a FAPI key. |
TSS2_FAPI_RC_BAD_KEY | if the key at keyPath is unsuitable for encryption. |
TSS2_FAPI_RC_BAD_VALUE | if plainTextSize is 0. |
TSS2_FAPI_RC_BAD_SEQUENCE | if the context has an asynchronous operation already pending. |
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_RC Fapi_Encrypt_Finish | ( | FAPI_CONTEXT * | context, |
uint8_t ** | cipherText, | ||
size_t * | cipherTextSize | ||
) |
Asynchronous finish function for Fapi_Encrypt
This function should be called after a previous Fapi_Encrypt_Async.
[in,out] | context | The FAPI_CONTEXT |
[out] | cipherText | The encoded ciphertext |
[out] | cipherTextSize | The size of the encoded cipher text. |
TSS2_RC_SUCCESS | if the function call was a success. |
TSS2_FAPI_RC_BAD_REFERENCE | if context or ciphertext 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_NOT_IMPLEMENTED | if the encryption algorithm is not available. |
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_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. |