Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
\\$1
.. ..
1 TCG Software Stack Developer's Reference
#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.
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).