Fapi_Decrypt(3)

NAME
Fapi_Decrypt - Fapi_Decrypt

SYNOPSIS

  Functions
TSS2_RC Fapi_Decrypt (FAPI_CONTEXT *context, char const *keyPath, uint8_t const *cipherText, size_t cipherTextSize, uint8_t **plainText, size_t *plainTextSize)
TSS2_RC Fapi_Decrypt_Async (FAPI_CONTEXT *context, char const *keyPath, uint8_t const *cipherText, size_t cipherTextSize)
TSS2_RC Fapi_Decrypt_Finish (FAPI_CONTEXT *context, uint8_t **plainText, size_t *plainTextSize)

Detailed Description

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

Function Documentation

  TSS2_RC Fapi_Decrypt (FAPI_CONTEXT * context, char const * keyPath, uint8_t const * cipherText, size_t cipherTextSize, uint8_t ** plainText, size_t * plainTextSize)
One-Call function for Fapi_Decrypt

Decrypts data that was previously encrypted with Fapi_Encrypt.

Note, that the size of the cipher text must not exceed the maximum supported size for payloads in a TPM2B_MAX_BUFFER, i.e TPM2_MAX_DIGEST_BUFFER.

Parameters
    context The FAPI_CONTEXT
    keyPath The decryption key.
    cipherText The ciphertext to decrypt.
    cipherTextSize The size of the ciphertext to decrypt.
    plainText the decrypted ciphertext. May be NULL (callee-allocated)
    plainTextSize The size of the ciphertext in bytes. May be NULL

Return values
    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_KEY_NOT_FOUND if can't find the key necessary to decrypt the file.
    TSS2_FAPI_RC_BAD_KEY if the decryption key is unsuitable for the requested operation.
    TSS2_FAPI_RC_BAD_VALUE if the decryption fails or the cipher text size is invalid
    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_GENERAL_FAILURE if an internal error occurred.
    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_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_Decrypt_Async (FAPI_CONTEXT * context, char const * keyPath, uint8_t const * cipherText, size_t cipherTextSize)
Asynchronous function for Fapi_Decrypt

Decrypts data that was previously encrypted with Fapi_Encrypt.

Note, that the size of the cipher text must not exceed the maximum supported size for payloads in a TPM2B_MAX_BUFFER, i.e TPM2_MAX_DIGEST_BUFFER.

Call Fapi_Decrypt_Finish to finish the execution of this command.

Parameters
    context The FAPI_CONTEXT
    keyPath The decryption key.
    cipherText The ciphertext to decrypt
    cipherTextSize The size of the ciphertext to decrypt

Return values
    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_KEY_NOT_FOUND if can't find the key necessary to decrypt the file.
    TSS2_FAPI_RC_BAD_KEY if the decryption key is unsuitable for the requested operation.
    TSS2_FAPI_RC_BAD_VALUE if the decryption fails or the cipher text size is invalid
    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_RC Fapi_Decrypt_Finish (FAPI_CONTEXT * context, uint8_t ** plainText, size_t * plainTextSize)
Asynchronous finish function for Fapi_Decrypt

This function should be called after a previous Fapi_Decrypt.

Parameters
    context The FAPI_CONTEXT
    plainText the decrypted ciphertext. May be NULL (callee-allocated)
    plainTextSize The size of the ciphertext in bytes. May be NULL

Return values
    TSS2_RC_SUCCESS if the function call was a success.
    TSS2_FAPI_RC_BAD_REFERENCE if context, plainText or plainTextSize 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.

Author

Generated automatically by Doxygen for tpm2-tss from the source code.