mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
vTPM/TPM2: Bind group keys and sectors data on disk
Signed-off-by: Quan Xu <quan.xu@intel.com> Acked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
This commit is contained in:
1 parent
b8d8733f89
commit
b80533f680
1 file changed
+11
-2
@@ -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);
|
||||
|
||||