Tspi_TPM_GetRandom

Section: C Library Functions (3)
Updated: 2004-05-25
Index Return to Main Contents
TCG Software Stack Developer's Reference
 

NAME

Tspi_TPM_GetRandom - generate a random number on the TPM  

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_TPM_GetRandom(TSS_HTPM hTPM, UINT32 size, BYTE** random);

 

DESCRIPTION

Tspi_TPM_GetRandom gets a good random number for the purpose of generating symmetric keys, nonces, or seeding a random number generator.

 

PARAMETERS

 

hTPM

The hTPM parameter is used to specify the handle of the TPM object. The command to get the TPM to test itself will be sent here.  

size

The size parameter is the number of random bytes requested.  

random

The random parameter is a pointer to memory containing the random data. This is where the generated number goes. Because this internally allocates memory, Tspi_Context_FreeMemory should also be used.

 

RETURN CODES

Tspi_TPM_GetRandom returns TSS_SUCCESS on success, otherwise one of the following values is returned:

TSS_E_INVALID_HANDLE
hTPM 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.

 

CONFORMING TO

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

 

SEE ALSO

Tspi_Context_FreeMemory(3).