TCG Software Stack Developer's Reference
Tspi_Data_Bind - Encrypts a data blob
#include <tss/platform.h>
#include <tss/tcpa_defines.h>
#include <tss/tcpa_typedef.h>
#include <tss/tcpa_struct.h>
#include <tss/tss_typedef.h>
#include <tss/tss_structs.h>
#include <tss/tspi.h>
TSS_RESULT Tspi_Data_Bind(TSS_HENCDATA hEncData, TSS_HKEY hEncKey,
UINT32 ulDataLength, BYTE* rgbDataToBind);
Tspi_Data_Bind encrypts a data blob in a manner that is decryptable by
Tspi_Data_Unbind. The data blob is encrypted using a public key
operation with the key addressed by the given encryption key object. To bind
data that is larger than the RSA public key modulus is the responsibility of
the caller to perform the blocking and subsequent combination of data. The
bound data blob is stored in the data object addressed by hEncData and
can be exported from the object by Tspi_GetAttribData. The caller of
this function should perform validations that the public key presented to it
is from a valid TPM.
The handle of the data object which contains the encrypted data on successful
completion of the command.
Handle to the key object addressing the public key which is used to encrypt the
data.
Indicates the length of the data provided at the parameter rgbDataToBind.
A pointer to the data to be encrypted.
Tspi_Data_Bind returns TSS_SUCCESS on success, otherwise one of the
following values is returned:
- TSS_E_INVALID_HANDLE
- hHash is not a valid handle.
- TSS_E_INTERNAL_ERROR
- An internal SW error has been detected.
- TSS_E_BAD_PARAMETER
- One or more parameters is bad.
- TSS_E_INVALID_ENCSCHEME
- Invalid encryption scheme.
- TSS_E_ENC_INVALID_LENGTH
- Invalid length of data to be encypted.
- TSS_E_ENC_NO_DATA
- No data to encrypt.
- TSS_E_ENC_INVALID_TYPE
- Invalid encryption type.
Tspi_Data_Bind conforms to the Trusted Computing Group Software
Specification version 1.1 Golden
Tspi_Data_Unbind(3), Tspi_Data_Unseal(3),
Tspi_Data_Seal(3).