Thread: [Tpm4java-users] TPM_LoadKey failed on Infineon 1.2 TPM
Brought to you by:
tews
From: Markus <ax...@go...> - 2007-01-31 07:45:21
|
On my Infineon 1.2 TPM TPM_LoadKey always fails with "Bad return code 10 The ordinal was unknown or inconsistent". I believe the reason for the error could be TPM 1.1 / 1.2 - incompatibility issues. For TrouSerS [1] there is a patch [2] for the Infineon 1.2 TPM. The creator of the patch also state a reason: "TPM Spec. 1.2 deprecates numerous commands which therefore are no longer implemented in Infineon 1.2 TPMs. To make TrouSerS work on such TPMs, some functions have to be modified." Is there a similar patch for tpm4java? Markus [1] - http://trousers.sourceforge.net/ [2] - http://trustedjava.sourceforge.net/index.php?item=tpm1.2/readme Debugging info: ->TPM: (618) <00 C2 00 00 02 6A 00 00 00 20 40 00 00 00 01 01 00 00 00 15 00 00 00 00 00 00 00 00 01 00 03 00 02 00 00 00 0C 00 00 08 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 01 00 83 62 5E 2A C2 55 FB 2F 01 67 FF 9D 49 D8 91 98 9B DB 1A 18 16 04 C2 37 E7 7E 62 E0 BF C4 CD 38 FA 0B C9 0B 63 63 9B 25 C3 D8 72 16 6B F3 33 4E 0C E2 3C 5F DE 24 16 DB 24 D0 EE 9E A8 F4 05 EC 04 F0 68 85 96 BC D2 A7 FC E1 48 38 89 2A AF 0F 9D 5D 01 19 4B B4 2F C7 BA E7 13 FA 16 5F 58 FE D4 45 38 36 1B 30 BA AF 03 6B E9 7F 79 86 A0 85 9F B0 86 70 F4 9D 5A F0 59 14 DC F1 B7 9B AC E4 EE 3A F7 12 8E A9 EC 56 A9 A5 DF F5 2D 09 6B B8 87 6C 88 BD 22 0B 27 85 36 5B 5C D5 6A 2C 62 93 F3 55 50 B7 1F 91 E5 AC 32 69 B2 2A 3A 29 85 B3 C4 15 A7 19 A3 37 E8 68 75 4D 91 03 0F 42 0D 04 19 45 74 5C CF C3 8E 38 E4 DF F3 57 23 A3 94 92 DE C6 18 AA C6 48 9A 1B 57 DC 6F 50 99 0E D7 2D 0F 99 CB B1 E4 65 61 8C ED 4D 55 5E 3D C5 8A B4 AE D2 E1 E9 C3 41 78 E1 E1 B4 F2 CE 36 A5 C2 BF 00 00 01 00 80 BE 85 95 DF 2D AD 74 BD F9 E1 44 22 FC 1D D6 E8 71 C9 92 CC 0B AC 2B C5 E7 FF BD 95 61 A6 38 7F 6E 13 01 82 E2 40 50 B6 99 05 DB 50 9C BA 27 5A 44 B9 82 81 26 5A F4 E9 CE DE 0B 7E 60 A7 D9 D6 CD F8 52 91 12 87 21 46 36 45 37 AD F3 06 1E E3 DC C5 96 9E 48 F7 12 61 C9 A3 1F 15 82 C0 AA BB 8B 08 FF 3D 89 40 60 FE 5C 81 02 80 CD 0E 15 21 7F 35 B1 62 72 C0 05 74 AF E1 B9 ED 81 8E B1 62 E0 91 73 79 E5 6E 65 16 92 5C C9 27 6F 9B 2A 82 A8 8D 9E 64 0D 17 98 42 74 E5 5B 94 6E E6 5E AA 73 BB 65 ED E6 6F 16 1E B2 9E 5C 84 4E DD 75 59 34 29 D2 77 1B 45 11 42 D5 67 75 38 B0 9B 89 7B FD 14 27 EF C3 41 1A DB 81 F4 FB 4E 15 F9 B7 78 6E F1 F5 A7 02 95 76 1B F6 62 9C FB 22 F7 12 C4 40 41 C9 DA 41 BA B2 26 5F 08 4E 1A 63 62 6C 81 39 D8 9B 29 C1 A3 21 35 D8 84 7C 5B 57 18 71 04 BE FC 1A 87 49 18 90 9D 55 DF D3 5E 64 EA 30 5E A5 8A B4 19 CC CD BE 00 BA F0 EE 08 F0 F5 0E 1E 1E 9F 79 C7 C1 8D 8D 3C 5B 9E 54 DA> TPM->: (16384) <00 C4 00 00 00 0A 00 00 00 0A> Exception in thread "main" java.lang.RuntimeException: de.datenzone.tpm4java.TPMException: Bad return code 10 The ordinal was unknown or inconsistent at de.datenzone.tpm4java.TssHighLevelImpl.storeKey(TssHighLevelImpl.java:236) .. Caused by: de.datenzone.tpm4java.TPMException: Bad return code 10 The ordinal was unknown or inconsistent at de.datenzone.tpm4java.TSSCoreService.SendCommand(TSSCoreService.java:2220) at de.datenzone.tpm4java.TSSCoreService.SendCommand(TSSCoreService.java:2205) at de.datenzone.tpm4java.TSSCoreService.TPM_LoadKey(TSSCoreService.java:676) at de.datenzone.tpm4java.TssHighLevelImpl.storeKey(TssHighLevelImpl.java:232) ... 2 more |
From: Martin H. <li...@ma...> - 2007-02-06 20:42:55
|
Markus schrieb: > On my Infineon 1.2 TPM TPM_LoadKey always fails with "Bad return code > 10 The ordinal was unknown or inconsistent". > It seems like support for backward-compatibility has not been included in this TPM. I just compared the LoadKey and LoadKey2 commands, the difference between those is only very small. I'm quite busy at the moment, but I think that I can include the missing functions before next week. Regards, Martin -- Martin Hermanowski http://martin.hermanowski.name https://www.xing.com/profile/Martin_Hermanowski/ |
From: Martin H. <li...@ma...> - 2007-02-11 20:08:25
|
Markus, the following actions should allow you to use tpm4java with you Infineon TPM: In TPM_LoadKey(), change "final int cmdCode = 32" from 32 (TPM_ORD_LoadKey) to 65 (TPM_ORD_LoadKey2). If you turn off the reply HMAC verification (setCheckReply(false)), this should be enough to support this TPM. It should suffice to remove the keyhandle from authdataReply to make the verification work again, but I tested this with the TPM emulator, and as mentioned on the trusted java site, the emulator does not implement LoadKey correctly. TPM_FlushSpecific is already implemented and should work out of the box. HTH, Martin Markus schrieb: > On my Infineon 1.2 TPM TPM_LoadKey always fails with "Bad return code > 10 The ordinal was unknown or inconsistent". > > I believe the reason for the error could be TPM 1.1 / 1.2 - > incompatibility issues. > > For TrouSerS [1] there is a patch [2] for the Infineon 1.2 TPM. The > creator of the patch also state a reason: > "TPM Spec. 1.2 deprecates numerous commands which therefore are no > longer implemented in Infineon 1.2 TPMs. To make TrouSerS work on such > TPMs, some functions have to be modified." > > Is there a similar patch for tpm4java? > > > Markus > > [1] - http://trousers.sourceforge.net/ > [2] - http://trustedjava.sourceforge.net/index.php?item=tpm1.2/readme > -- Martin Hermanowski http://martin.hermanowski.name https://www.xing.com/profile/Martin_Hermanowski/ |