Fixed calculate quote info function -> initialize PCR bit mask array with zeroes
Return TPM Quote Info only, hash of it is calculated in IMV Process Renamed digest with quote info
This commit is contained in:
committed by
Andreas Steffen
parent
db15e3a0d9
commit
97280c7a47
@@ -1001,7 +1001,7 @@ METHOD(pts_t, does_pcr_value_match, bool,
|
||||
e = entries->create_enumerator(entries);
|
||||
while (e->enumerate(e, &pcr_entry))
|
||||
{
|
||||
if (chunk_equals(chunk_create(pcr_entry->pcr_value, PCR_LEN), pcr_after_value))
|
||||
if (strncmp(pcr_entry->pcr_value, pcr_after_value.ptr, PCR_LEN) == 0)
|
||||
{
|
||||
DBG1(DBG_PTS, "PCR %d value matched with configured value",
|
||||
pcr_entry->pcr_number);
|
||||
@@ -1170,6 +1170,7 @@ METHOD(pts_t, get_quote_info, bool,
|
||||
METHOD(pts_t, verify_quote_signature, bool,
|
||||
private_pts_t *this, chunk_t data, chunk_t signature)
|
||||
{
|
||||
/** Implementation using strongswan -> not working */
|
||||
public_key_t *aik_pub_key;
|
||||
|
||||
aik_pub_key = this->aik->get_public_key(this->aik);
|
||||
@@ -1188,6 +1189,7 @@ METHOD(pts_t, verify_quote_signature, bool,
|
||||
}
|
||||
|
||||
aik_pub_key->destroy(aik_pub_key);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
@@ -396,12 +396,12 @@ struct pts_t {
|
||||
bool (*does_pcr_value_match)(pts_t *this, chunk_t pcr_after_value);
|
||||
|
||||
/**
|
||||
* Constructs and returns PCR Quote Digest structure expected from IMC
|
||||
* Constructs and returns TPM Quote Info structure expected from IMC
|
||||
*
|
||||
* @param digest Output variable to store quote digest
|
||||
* @return FALSE in case of any error, TRUE otherwise
|
||||
*/
|
||||
bool (*get_quote_digest)(pts_t *this, chunk_t *digest);
|
||||
bool (*get_quote_info)(pts_t *this, chunk_t *quote_info);
|
||||
|
||||
/**
|
||||
* Constructs and returns PCR Quote Digest structure expected from IMC
|
||||
|
||||
Reference in New Issue
Block a user