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_Hash_Sign(TSS_HHASH " hHash ", TSS_HKEY " hKey "," " UINT32 " pulSignatureLength ", BYTE** " prgbSignature ");"
Tspi_Hash_Sign signs the hash data of an object with a given signing key. The data must be set at the hash instance associated with hHash by calling Tspi_Hash_SetHashValue or Tspi_Hash_UpdateHashValue. The Tspi_Hash_Sign method allocates a memory block for the prgbSignature data. This memory must be released using Tspi_Context_FreeMemory.
Tspi_Hash_Sign returns TSS_SUCCESS on success, otherwise one of the following values is returned:
TSS_E_INVALID_HANDLE hKey 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_HASH_INVALID_LENGTH Hash length is inconsistent with hash algorithm.
TSS_E_HASH_NO_DATA Hash object has no internal hash value.
TSS_E_HASH_NO_IDENTIFIER The hash algorithm identifier is not set.
Tspi_Hash_Sign conforms to the Trusted Computing Group Software Specification version 1.1 Golden
Tspi_Hash_UpdateHashValue(3), Tspi_Hash_SetHashValue(3), Tspi_Hash_VerifySignature(3).