From 76e15825e00a060df5b4ff1bec2e6e4e7341a9be Mon Sep 17 00:00:00 2001 From: Quan Xu Date: Thu, 15 Jan 2015 04:21:51 -0500 Subject: [PATCH] vTPM/TPM2: Bind group keys and sectors data on disk Signed-off-by: Quan Xu Acked-by: Daniel De Graaf --- vtpmmgr/disk_write.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/vtpmmgr/disk_write.c b/vtpmmgr/disk_write.c index 4c825c5..ab15a9a 100644 --- a/vtpmmgr/disk_write.c +++ b/vtpmmgr/disk_write.c @@ -88,7 +88,12 @@ static void generate_group_seals(struct mem_group *src, const struct mem_tpm_mgr dst->pcr_selection = src->seals[i].pcr_selection; memcpy(&dst->digest_release, &src->seals[i].digest_release, 20); TPM_pcr_digest(&dst->digest_at_seal, dst->pcr_selection); - TPM_disk_seal(dst, &sblob, sizeof(sblob)); + + /*TPM 2.0 bind | TPM 1.x seal*/ + if (hw_is_tpm2()) + TPM2_disk_bind(dst, &sblob, sizeof(sblob)); + else + TPM_disk_seal(dst, &sblob, sizeof(sblob)); } src->seal_bits.nr_cfgs = native_be32(src->nr_seals); @@ -250,7 +255,11 @@ static void disk_write_seal_list(struct mem_tpm_mgr *mgr, struct mem_group *grou memcpy(&dst->digest_release, &src->digest_release, 20); TPM_pcr_digest(&dst->digest_at_seal, dst->pcr_selection); - TPM_disk_seal(dst, &sblob, sizeof(sblob)); + /*TPM 2.0 bind / TPM 1.x seal*/ + if (hw_is_tpm2()) + TPM2_disk_bind(dst, &sblob, sizeof(sblob)); + else + TPM_disk_seal(dst, &sblob, sizeof(sblob)); } memcpy(seal->hdr.magic, TPM_MGR_MAGIC, 12); -- 2.39.5