mirror of https://github.com/wolfSSL/wolfTPM.git
Added test for `TPM2_GetRandom2`
parent
b69496c428
commit
4ced78d002
|
@ -118,6 +118,9 @@ int TPM2_Native_TestArgs(void* userCtx, int argc, char *argv[])
|
||||||
union {
|
union {
|
||||||
GetCapability_Out cap;
|
GetCapability_Out cap;
|
||||||
GetRandom_Out getRand;
|
GetRandom_Out getRand;
|
||||||
|
#if defined(WOLFTPM_ST33) || defined(WOLFTPM_AUTODETECT)
|
||||||
|
GetRandom2_Out getRand2;
|
||||||
|
#endif
|
||||||
GetTestResult_Out tr;
|
GetTestResult_Out tr;
|
||||||
IncrementalSelfTest_Out incSelfTest;
|
IncrementalSelfTest_Out incSelfTest;
|
||||||
ReadClock_Out readClock;
|
ReadClock_Out readClock;
|
||||||
|
@ -323,15 +326,27 @@ int TPM2_Native_TestArgs(void* userCtx, int argc, char *argv[])
|
||||||
|
|
||||||
|
|
||||||
/* Random */
|
/* Random */
|
||||||
XMEMSET(&cmdIn.getRand, 0, sizeof(cmdIn.getRand));
|
#if defined(WOLFTPM_ST33) || defined(WOLFTPM_AUTODETECT)
|
||||||
cmdIn.getRand.bytesRequested = MAX_RNG_REQ_SIZE;
|
if (TPM2_GetVendorID() == TPM_VENDOR_STM) {
|
||||||
rc = TPM2_GetRandom(&cmdIn.getRand, &cmdOut.getRand);
|
XMEMSET(&cmdIn.getRand, 0, sizeof(cmdIn.getRand));
|
||||||
|
i = (int)sizeof(cmdOut.getRand2.randomBytes);
|
||||||
|
cmdIn.getRand.bytesRequested = (UINT16)i;
|
||||||
|
rc = TPM2_GetRandom2(&cmdIn.getRand, &cmdOut.getRand2);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
XMEMSET(&cmdIn.getRand, 0, sizeof(cmdIn.getRand));
|
||||||
|
i = MAX_RNG_REQ_SIZE;
|
||||||
|
cmdIn.getRand.bytesRequested = (UINT16)i;
|
||||||
|
rc = TPM2_GetRandom(&cmdIn.getRand, &cmdOut.getRand);
|
||||||
|
}
|
||||||
if (rc != TPM_RC_SUCCESS) {
|
if (rc != TPM_RC_SUCCESS) {
|
||||||
printf("TPM2_GetRandom failed 0x%x: %s\n", rc,
|
printf("TPM2_GetRandom failed 0x%x: %s\n", rc,
|
||||||
TPM2_GetRCString(rc));
|
TPM2_GetRCString(rc));
|
||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
if (cmdOut.getRand.randomBytes.size != MAX_RNG_REQ_SIZE) {
|
if (cmdOut.getRand.randomBytes.size != i) {
|
||||||
printf("TPM2_GetRandom length mismatch %d != %d\n",
|
printf("TPM2_GetRandom length mismatch %d != %d\n",
|
||||||
cmdOut.getRand.randomBytes.size, MAX_RNG_REQ_SIZE);
|
cmdOut.getRand.randomBytes.size, MAX_RNG_REQ_SIZE);
|
||||||
goto exit;
|
goto exit;
|
||||||
|
|
Loading…
Reference in New Issue