Fixed calculate quote info function -> initialize PCR bit mask array with zeroes
authorSansar Choinyambuu <schoinya@hsr.ch>
Fri, 21 Oct 2011 08:43:59 +0000 (10:43 +0200)
committerAndreas Steffen <andreas.steffen@strongswan.org>
Mon, 28 Nov 2011 18:10:24 +0000 (19:10 +0100)
Return TPM Quote Info only, hash of it is calculated in IMV Process
Renamed digest with quote info

src/libpts/pts/pts.c
src/libpts/pts/pts.h

index 1178a0f..becfdae 100644 (file)
@@ -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;
 }
 
index 41f81e4..6de3615 100644 (file)
@@ -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