[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xense-devel] vtpm_managerd problem
Anna is correct. 1.2 TPMs are supposed to be backward
compatible with 1.1b software. This compatibility is intended to be broken when
we move to TPM Family 2, however, Infineon has chosen not to implement the
deprecated commands so their TPM is not backward compatible. The current manager
is written with the 1.1b commands in hopes of supporting both 1.1b and 1.2 TPMs.
Sounds like we are going to have to take a different strategy. Below is a patch
that should update the vtpm manager to the 1.2 command set, but breaks 1.1b
support. This should get you under way for now, let us know if it doesn't (I'm
not near my test machine). Joe and I will work on an official patch that
enables both 1.1b and 1.2 TPMs.
-Vinnie Scarlata
diff -r 0bea8e773508
tools/vtpm_manager/manager/vtsp.c
--- a/tools/vtpm_manager/manager/vtsp.c Tue Dec 5 17:01:34 2006 +++ b/tools/vtpm_manager/manager/vtsp.c Wed Dec 6 11:01:09 2006 @@ -634,10 +634,9 @@ &phKeyHMAC) ); // Verify
Auth
- paramTextSize = BSG_PackList(paramText, 3, + paramTextSize = BSG_PackList(paramText, 2, BSG_TPM_RESULT, &status, - BSG_TPM_COMMAND_CODE, &command, - BSG_TPM_HANDLE, newKeyHandle); + BSG_TPM_COMMAND_CODE, &command); TPMTRYRETURN( VerifyAuth(
paramText,
paramTextSize,
parentAuth, auth, diff -r 0bea8e773508 tools/vtpm_manager/manager/vtpm_manager.c --- a/tools/vtpm_manager/manager/vtpm_manager.c Tue Dec 5 17:01:34 2006 +++ b/tools/vtpm_manager/manager/vtpm_manager.c Wed Dec 6 11:01:09 2006 @@ -101,9 +101,6 @@ &ek_cryptoInfo, &vtpm_globals->keyAuth)); -
TPMTRYRETURN(VTSP_DisablePubekRead(vtpm_globals->manager_tcs_handle,
- (const TPM_AUTHDATA*)&vtpm_globals->owner_usage_auth, - &vtpm_globals->keyAuth)); } else { vtpmloginfo(VTPM_LOG_VTPM, "Failed to readEK meaning TPM has an owner. Creating Keys off existing SRK.\n"); } diff -r 0bea8e773508 tools/vtpm_manager/tcs/tcs.c --- a/tools/vtpm_manager/tcs/tcs.c Tue Dec 5 17:01:34 2006 +++ b/tools/vtpm_manager/tcs/tcs.c Wed Dec 6 11:01:09 2006 @@ -901,7 +901,7 @@ // setup input/output parameters block TPM_TAG tag = TPM_TAG_RQU_AUTH1_COMMAND; UINT32 paramSize = 0; - TPM_COMMAND_CODE ordinal = TPM_ORD_LoadKey; + TPM_COMMAND_CODE ordinal = TPM_ORD_LoadKey2; TPM_RESULT returnCode = TPM_SUCCESS; // setup the TPM driver input and output
buffers diff -r 0bea8e773508 tools/vtpm_manager/util/tcg.h --- a/tools/vtpm_manager/util/tcg.h Tue Dec 5 17:01:34 2006 +++ b/tools/vtpm_manager/util/tcg.h Wed Dec 6 11:01:09 2006 @@ -250,6 +250,7 @@ #define TPM_ORD_ReadManuMaintPub (48UL + TPM_PROTECTED_ORDINAL) #define TPM_ORD_CertifyKey (50UL + TPM_PROTECTED_ORDINAL) #define TPM_ORD_Sign (60UL + TPM_PROTECTED_ORDINAL) +#define TPM_ORD_LoadKey2 (65UL + TPM_PROTECTED_ORDINAL) #define TPM_ORD_GetRandom (70UL + TPM_PROTECTED_ORDINAL) #define TPM_ORD_StirRandom (71UL + TPM_PROTECTED_ORDINAL) #define TPM_ORD_SelfTestFull (80UL + TPM_PROTECTED_ORDINAL) From: Fischer, Anna [mailto:anna.fischer@xxxxxx] Sent: Wednesday, December 06, 2006 10:24 AM To: Scarlata, Vincent R; Burak OÐUZ; Martin Hermanowski Cc: xense-devel@xxxxxxxxxxxxxxxxxxx Subject: RE: [Xense-devel] vtpm_managerd problem I think the problem is that the vtpm_managerd is not fully
1.2 compliant. TPM_LoadKey is deprecated in 1.2, and TPM_OwnerReadPubek has
changed, too. If you use a TPM which supports 1.1 and 1.2, then the
vtpm_managerd works, but the Infineon 1.2 TPM doesn't implement deprecated 1.1
commands at all, so it reports BAD_ORDINAL errors. You'll need to update
the vtpm_managerd with all changes between 1.1 and 1.2 in order to get the
Infineon TPM to work.
_______________________________________________ Xense-devel mailing list Xense-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xense-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |