Re: [PATCH RESEND] fix(data): correct type for TpmSignCommand.in_scheme

Jarkko Sakkinen <[email protected]> Wed, 14 Jan 2026 17:19:49 +0200
Newsgroups dev.linux.lists.tpm-protocol
Message-ID <[email protected]>
On Mon, Jan 12, 2026 at 11:10:05AM +0000, P=E9tur Run=F3lfsson wrote:
> The type of the inScheme parameter for the TPM_Sign command is
> TPMT_SIG_SCHEME+ ([1], Table 109).
>=20
> Added test message scraped from strace output of Esys_Sign().
>=20
> [1] https://trustedcomputinggroup.org/wp-content/uploads/Trusted-Platform=
-Module-2.0-Library-Part-3-Version-184_pub.pdf
>=20
> Signed-off-by: P=E9tur Run=F3lfsson <[email protected]>

Thanks, did I miss the first patch?

It might have gone somhow unnoticed as so far this has been just my
sandbox project :-)

I'll definitely apply this (within few days). Thank you.

> ---
>  src/frame/data.rs | 6 +++---
>  tests/message.txt | 3 ++-
>  2 files changed, 5 insertions(+), 4 deletions(-)
>=20
> diff --git a/src/frame/data.rs b/src/frame/data.rs
> index 9bc27ca..668f672 100644
> --- a/src/frame/data.rs
> +++ b/src/frame/data.rs
> @@ -14,8 +14,8 @@ use crate::{
>          TpmSe, TpmSu, TpmaLocality, TpmiAlgCipherMode, TpmiAlgHash, Tpmi=
EccKeyExchange, TpmiYesNo,
>          TpmlAcCapabilities, TpmlAlg, TpmlCc, TpmlDigest, TpmlDigestValue=
s, TpmlPcrSelection,
>          TpmsAcOutput, TpmsAlgorithmDetailEcc, TpmsCapabilityData, TpmsCo=
ntext, TpmsTimeInfo,
> -        TpmtHa, TpmtKdfScheme, TpmtPublicParms, TpmtRsaDecrypt, TpmtSign=
ature, TpmtSymDef,
> -        TpmtSymDefObject, TpmtTkAuth, TpmtTkCreation, TpmtTkHashcheck, T=
pmtTkVerified,
> +        TpmtHa, TpmtKdfScheme, TpmtPublicParms, TpmtRsaDecrypt, TpmtSigS=
cheme, TpmtSignature,
> +        TpmtSymDef, TpmtSymDefObject, TpmtTkAuth, TpmtTkCreation, TpmtTk=
Hashcheck, TpmtTkVerified,
>      },
>      frame::TpmHeader,
>  };
> @@ -2552,7 +2552,7 @@ tpm_struct! {
>      handles: 1,
>      parameters: {
>          pub digest: Tpm2bDigest,
> -        pub in_scheme: TpmtSignature,
> +        pub in_scheme: TpmtSigScheme,
>          pub validation: TpmtTkHashcheck,
>      }
>  }
> diff --git a/tests/message.txt b/tests/message.txt
> index 38bb576..09d6448 100644
> --- a/tests/message.txt
> +++ b/tests/message.txt
> @@ -9,7 +9,8 @@
>  00000137 Command 0000 80020000002a0000013740000001010000000000000c400000=
0900000000033132330004deadbeef0000
>  00000176 Command 0000 80020000003f00000176400000014000000100000010400000=
090000800007617574683132330010aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0000010010000b
>  00000176 Command 0000 80010000002b0000017640000007400000070010aaaaaaaaaa=
aaaaaaaaaaaaaaaaaaaaaa0000000010000b
> -0000015D Command 0000 80010000005C0000015D800000010020aaaaaaaaaaaaaaaaaa=
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0005000Bbbbbbbbbbbbbbbbbbbbbb=
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb8024400000070000
> +0000015D Command 0000 80010000003C0000015D800000010020aaaaaaaaaaaaaaaaaa=
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0005000B8024400000070000
> +0000015D Command 0000 8002000000c90000015d80fffffe0000004902000000002001=
3e913204ba4c050b520e5c1b298183877ba1b96b986f9cbc3fb52ec82a68fa21002081d177b=
fa62f2442b571932ebc03ee9f48e28f553a3272003d387ceb31857eac00205cb67f3ab8c70a=
63af698f78e9378254e643786a0bd31301744d15c15805c6e30018000b80244000000100408=
75f530de79f51f5db75e9488c7bb07b7906211e486c675791b6bb8ccdd3357ff59a1603df6d=
27d6814e81621586eaad9af3564ff4032e3085bcd20c94a854e6
>  0000017A Response 0000 80010000020b0000000001000000060000003f00000100322=
e30000000010100000000000001020000008a000001030000000800000104000007e2000001=
054946580000000106534c42390000010736373000000001080000000000000109000000000=
000010a000000000000010b000700550000010c0011cb000000010d000004000000010e0000=
00040000010f000000070000011000000003000001110000004000000112000000180000011=
300000003000001140000ffff00000116000000080000011700000800000001180000000600=
000119000040000000011a0000000b0000011b000000060000011c000000800000011d00000=
0ff0000011e0000058c0000011f0000058c0000012000000020000001210000038f00000122=
000001ee0000012300000001000001240000000000000125000001030000012600000000000=
0012700000000000001280000008000000129000000610000012a000000600000012b000000=
010000012c000003000000012d000000010000012e000002000000020000000004000002018=
000000f000002020000000d0000020300000000000002040000000300000205000000000000=
02060000004000000207000000040000020800000001000002090000000c0000020a0000000=
20000020b0000000c0000020c000000000000020d000000020000020e000000000000020f00=
00001f0000021000000258
>  00000176 Response 0000 8001000000300000000002000000002000647915de6106c95=
5b26456b8b8a3b10546fa446405d4eb2e1fb0247fb52080
>  0000017A Response 0000 8001000000170000000000000000080000000200030010
> --=20
> 2.43.0
>=20

BR, Jarkko