// This file was extracted from the TCG Published // Trusted Platform Module Library // Part 3: Commands // Family "2.0" // Level 00 Revision 01.16 // October 30, 2014 #include "InternalRoutines.h" #include "GetRandom_fp.h" TPM_RC TPM2_GetRandom( GetRandom_In *in, // IN: input parameter list GetRandom_Out *out // OUT: output parameter list ) { // Command Output // if the requested bytes exceed the output buffer size, generates the // maximum bytes that the output buffer allows if(in->bytesRequested > sizeof(TPMU_HA)) out->randomBytes.t.size = sizeof(TPMU_HA); else out->randomBytes.t.size = in->bytesRequested; CryptGenerateRandom(out->randomBytes.t.size, out->randomBytes.t.buffer); return TPM_RC_SUCCESS; }