aboutsummaryrefslogtreecommitdiffstats
path: root/src/libimcv/plugins/imc_attestation
diff options
context:
space:
mode:
authorSansar Choinyambuu <schoinya@hsr.ch>2011-10-31 11:26:00 +0100
committerAndreas Steffen <andreas.steffen@strongswan.org>2011-11-28 14:39:53 +0100
commitcb66320fee1f23d0b3ec3b42aec00a80c7ffdcbd (patch)
treef7e87454609f1e9dcada1a5015e35f9a52b22f06 /src/libimcv/plugins/imc_attestation
parent645f55eb20ad6226bd17d316432ce805103a1c78 (diff)
downloadstrongswan-cb66320fee1f23d0b3ec3b42aec00a80c7ffdcbd.tar.bz2
strongswan-cb66320fee1f23d0b3ec3b42aec00a80c7ffdcbd.tar.xz
Implemented matching of Optional PCR Composite field value when Hashing was done to reduce the size of it
Optional Composite Hash Algorithm field is always present, has value of all zeroes if was not used
Diffstat (limited to 'src/libimcv/plugins/imc_attestation')
-rw-r--r--src/libimcv/plugins/imc_attestation/imc_attestation_process.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/libimcv/plugins/imc_attestation/imc_attestation_process.c b/src/libimcv/plugins/imc_attestation/imc_attestation_process.c
index cbb3dc3d5..874820202 100644
--- a/src/libimcv/plugins/imc_attestation/imc_attestation_process.c
+++ b/src/libimcv/plugins/imc_attestation/imc_attestation_process.c
@@ -441,6 +441,7 @@ bool imc_attestation_process(pa_tnc_attr_t *attr, linked_list_t *attr_list,
{
enumerator_t *e;
pts_simple_evid_final_flag_t flags;
+ pts_meas_algorithms_t composite_algorithm = 0;
chunk_t pcr_composite, quote_signature;
u_int32_t num_of_evidences, i = 0;
u_int32_t *pcrs;
@@ -478,9 +479,11 @@ bool imc_attestation_process(pa_tnc_attr_t *attr, linked_list_t *attr_list,
/* Send Simple Evidence Final attribute */
flags = PTS_SIMPLE_EVID_FINAL_FLAG_TPM_QUOTE_INFO;
+ composite_algorithm |= PTS_MEAS_ALGO_SHA1;
- attr = tcg_pts_attr_simple_evid_final_create(FALSE, flags, 0,
- pcr_composite, quote_signature, chunk_empty);
+ attr = tcg_pts_attr_simple_evid_final_create(FALSE, flags,
+ composite_algorithm, pcr_composite,
+ quote_signature, chunk_empty);
attr_list->insert_last(attr_list, attr);
DESTROY_IF(e);