[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] TPM emulator: HMAC calculation fix for response from TPM_LoadKey2
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1204541623 0 # Node ID 5ea409d66ee4c78764920c4319f8bdece359a0f6 # Parent 71a8366fb212b9199090bf9e87e389bdd65e5cbd TPM emulator: HMAC calculation fix for response from TPM_LoadKey2 Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxx> --- tools/vtpm/vtpm.patch | 17 ++++++++++++++++- 1 files changed, 16 insertions(+), 1 deletion(-) diff -r 71a8366fb212 -r 5ea409d66ee4 tools/vtpm/vtpm.patch --- a/tools/vtpm/vtpm.patch Fri Feb 29 09:19:58 2008 -0700 +++ b/tools/vtpm/vtpm.patch Mon Mar 03 10:53:43 2008 +0000 @@ -125,9 +125,32 @@ diff -uprN tpm_emulator/tpm/tpm_capabili return TPM_FAIL; case TPM_CAP_PROP_ACTIVE_COUNTER: +diff -uprN tpm_emulator/tpm/tpm_cmd_handler.c vtpm/tpm/tpm_cmd_handler.c +--- tpm_emulator/tpm/tpm_cmd_handler.c 2008-02-27 16:35:41.000000000 -0500 ++++ vtpm/tpm/tpm_cmd_handler.c 2008-02-28 14:43:28.000000000 -0500 +@@ -94,12 +94,18 @@ void tpm_compute_out_param_digest(TPM_CO + sha1_ctx_t sha1; + UINT32 res = CPU_TO_BE32(rsp->result); + UINT32 ord = CPU_TO_BE32(ordinal); ++ UINT32 offset = 0; + + /* compute SHA1 hash */ + sha1_init(&sha1); + sha1_update(&sha1, (BYTE*)&res, 4); + sha1_update(&sha1, (BYTE*)&ord, 4); +- sha1_update(&sha1, rsp->param, rsp->paramSize); ++ if (ordinal == TPM_ORD_LoadKey2) { ++ offset = 4; ++ } ++ if (rsp->paramSize - offset > 0) { ++ sha1_update(&sha1, rsp->param + offset, rsp->paramSize - offset); ++ } + sha1_final(&sha1, rsp->auth1->digest); + if (rsp->auth2 != NULL) memcpy(rsp->auth2->digest, + rsp->auth1->digest, sizeof(rsp->auth1->digest)); diff -uprN tpm_emulator/tpm/tpm_data.c vtpm/tpm/tpm_data.c ---- tpm_emulator/tpm/tpm_data.c 2006-12-08 12:51:29.000000000 -0800 -+++ vtpm/tpm/tpm_data.c 2006-12-13 16:38:52.000000000 -0800 +--- tpm_emulator/tpm/tpm_data.c 2008-02-27 16:35:41.000000000 -0500 ++++ vtpm/tpm/tpm_data.c 2008-02-27 16:35:40.000000000 -0500 @@ -1,6 +1,7 @@ /* Software-Based Trusted Platform Module (TPM) Emulator for Linux * Copyright (C) 2004 Mario Strasser <mast@xxxxxxx>, _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |