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(3) Library Functions Manual Tspi_Data_Bind(3)
TCG Software Stack Developer's Reference
NAME
Tspi_Data_Bind - Encrypts a data blob
SYNOPSIS
#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);
DESCRIPTION
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 opera-
tion with the key addressed by the given encryption key object. To bind
data that is larger than the RSA public key modulus is the responsibil-
ity 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.
PARAMETERS
hEncData
The handle of the data object which contains the encrypted data on suc-
cessful completion of the command.
hEncKey
Handle to the key object addressing the public key which is used to en-
crypt the data.
ulDataLength
Indicates the length of the data provided at the parameter rgbDataTo-
Bind.
rgbDataToBind
A pointer to the data to be encrypted.
RETURN CODES
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.
CONFORMING TO
Tspi_Data_Bind conforms to the Trusted Computing Group Software Speci-
fication version 1.1 Golden
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+---------------+---------------------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+---------------------------+
|Availability | library/security/trousers |
+---------------+---------------------------+
|Stability | Uncommitted |
+---------------+---------------------------+
SEE ALSO
Tspi_Data_Unbind(3), Tspi_Data_Unseal(3), Tspi_Data_Seal(3).
NOTES
Source code for open source software components in Oracle Solaris can
be found at https://www.oracle.com/downloads/opensource/solaris-source-
code-downloads.html.
This software was built from source available at https://github.com/or-
acle/solaris-userland. The original community source was downloaded
from https://source-
forge.net/projects/trousers/files/trousers/0.3.15/trousers-0.3.15.tar.gz.
Further information about this software can be found on the open source
community website at http://trousers.sourceforge.net/.
TSS 1.1 2004-05-25 Tspi_Data_Bind(3)