define tpm_version_info as a chunk
This commit is contained in:
@@ -154,38 +154,34 @@ TNC_Result TNC_IMC_NotifyConnectionChange(TNC_IMCID imc_id,
|
|||||||
/**
|
/**
|
||||||
* Get the TPM Version Information
|
* Get the TPM Version Information
|
||||||
*/
|
*/
|
||||||
static TSS_RESULT get_tpm_version_info(BYTE *tpm_version_info)
|
static TSS_RESULT get_tpm_version_info(chunk_t *info)
|
||||||
{
|
{
|
||||||
TSS_HCONTEXT hContext;
|
TSS_HCONTEXT hContext;
|
||||||
TSS_HTPM hTPM;
|
TSS_HTPM hTPM;
|
||||||
TSS_RESULT uiResult;
|
TSS_RESULT result;
|
||||||
UINT32 uiResultLen;
|
|
||||||
/* TODO: Needed for parsing version info on IMV side */
|
/* TODO: Needed for parsing version info on IMV side */
|
||||||
//TPM_CAP_VERSION_INFO versionInfo;
|
//TPM_CAP_VERSION_INFO versionInfo;
|
||||||
//UINT64 offset = 0;
|
//UINT64 offset = 0;
|
||||||
|
|
||||||
uiResult = Tspi_Context_Create(&hContext);
|
result = Tspi_Context_Create(&hContext);
|
||||||
if (uiResult != TSS_SUCCESS) {
|
if (result != TSS_SUCCESS)
|
||||||
DBG1(DBG_IMC,"Error 0x%x on Tspi_Context_Create\n", uiResult);
|
{
|
||||||
return uiResult;
|
return result;
|
||||||
}
|
}
|
||||||
uiResult = Tspi_Context_Connect(hContext, NULL);
|
result = Tspi_Context_Connect(hContext, NULL);
|
||||||
if (uiResult != TSS_SUCCESS) {
|
if (result != TSS_SUCCESS)
|
||||||
DBG1(DBG_IMC,"Error 0x%x on Tspi_Context_Connect\n", uiResult);
|
{
|
||||||
return uiResult;
|
return result;
|
||||||
}
|
}
|
||||||
uiResult = Tspi_Context_GetTpmObject (hContext, &hTPM);
|
result = Tspi_Context_GetTpmObject (hContext, &hTPM);
|
||||||
if (uiResult != TSS_SUCCESS) {
|
if (result != TSS_SUCCESS)
|
||||||
DBG1(DBG_IMC,"Error 0x%x on Tspi_Context_GetTpmObject\n", uiResult);
|
{
|
||||||
return uiResult;
|
return result;
|
||||||
}
|
|
||||||
|
|
||||||
uiResult = Tspi_TPM_GetCapability(hTPM, TSS_TPMCAP_VERSION_VAL, 0, NULL, &uiResultLen,
|
|
||||||
&tpm_version_info);
|
|
||||||
if (uiResult != TSS_SUCCESS) {
|
|
||||||
DBG1(DBG_IMC,"Error 0x%x on Tspi_TPM_GetCapability\n", uiResult);
|
|
||||||
return uiResult;
|
|
||||||
}
|
}
|
||||||
|
result = Tspi_TPM_GetCapability(hTPM, TSS_TPMCAP_VERSION_VAL, 0, NULL,
|
||||||
|
&info->len, &info->ptr);
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -314,18 +310,17 @@ static TNC_Result send_message(TNC_ConnectionID connection_id)
|
|||||||
}
|
}
|
||||||
case IMC_ATTESTATION_STATE_GET_TPM_INFO:
|
case IMC_ATTESTATION_STATE_GET_TPM_INFO:
|
||||||
{
|
{
|
||||||
TSS_RESULT uiResult;
|
TSS_RESULT result;
|
||||||
BYTE *tpm_version_info;
|
chunk_t tpm_version_info;
|
||||||
|
|
||||||
uiResult = get_tpm_version_info(tpm_version_info);
|
result = get_tpm_version_info(&tpm_version_info);
|
||||||
if (uiResult != TSS_SUCCESS) {
|
if (result != TSS_SUCCESS)
|
||||||
DBG1(DBG_IMC,"Error 0x%x on get_tpm_version_info\n", uiResult);
|
{
|
||||||
return uiResult;
|
DBG1(DBG_IMC,"Error 0x%x on get_tpm_version_info\n", result);
|
||||||
|
return TNC_RESULT_FATAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
attr = tcg_pts_attr_tpm_version_info_create(
|
attr = tcg_pts_attr_tpm_version_info_create(tpm_version_info);
|
||||||
chunk_create((char *)tpm_version_info,
|
|
||||||
strlen(tpm_version_info)));
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case IMC_ATTESTATION_STATE_REQ_FILE_MEAS:
|
case IMC_ATTESTATION_STATE_REQ_FILE_MEAS:
|
||||||
|
|||||||
Reference in New Issue
Block a user