Tspi_Hash_Sign(3)

TCG Software Stack Developer's Reference

NAME
Tspi_Hash_Sign - sign the hash data of an object with a signing key

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_Hash_Sign(TSS_HHASH hHash,              TSS_HKEY hKey,
                          UINT32    pulSignatureLength, BYTE**   prgbSignature);

DESCRIPTION

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.

PARAMETERS

  hHash
The handle to the hash object instance whose hash value should be signed.

  hKey
Handle to the key object which should be used for the signature.

  pulSignatureLength
Receives the length of the signature data returned at the parameter prgbSignature on successful completion.

  prgbSignature
Receives a pointer to the signature data on successful completion.

RETURN CODES

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.

CONFORMING TO

Tspi_Hash_Sign conforms to the Trusted Computing Group Software Specification version 1.1 Golden

SEE ALSO

Tspi_Hash_UpdateHashValue(3), Tspi_Hash_SetHashValue(3), Tspi_Hash_VerifySignature(3).