public inbox for tpm-protocol@lists.linux.dev
 help / color / mirror / Atom feed
From: "Pétur Runólfsson" <petur@keystrike.com>
To: tpm-protocol@lists.linux.dev
Cc: "Pétur Runólfsson" <petur@keystrike.com>
Subject: [PATCH] fix(data): correct type for TpmSignCommand.in_scheme
Date: Fri, 19 Dec 2025 12:41:51 +0000	[thread overview]
Message-ID: <20251219124151.44945-1-petur@keystrike.com> (raw)

The type of the inScheme parameter for the TPM_Sign command is
TPMT_SIG_SCHEME+ ([1], Table 109).

Added test message scraped from strace output of Esys_Sign().

[1] https://trustedcomputinggroup.org/wp-content/uploads/Trusted-Platform-Module-2.0-Library-Part-3-Version-184_pub.pdf

Signed-off-by: Pétur Runólfsson <petur@keystrike.com>
---
 src/frame/data.rs | 6 +++---
 tests/message.txt | 3 ++-
 2 files changed, 5 insertions(+), 4 deletions(-)

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, TpmiEccKeyExchange, TpmiYesNo,
         TpmlAcCapabilities, TpmlAlg, TpmlCc, TpmlDigest, TpmlDigestValues, TpmlPcrSelection,
         TpmsAcOutput, TpmsAlgorithmDetailEcc, TpmsCapabilityData, TpmsContext, TpmsTimeInfo,
-        TpmtHa, TpmtKdfScheme, TpmtPublicParms, TpmtRsaDecrypt, TpmtSignature, TpmtSymDef,
-        TpmtSymDefObject, TpmtTkAuth, TpmtTkCreation, TpmtTkHashcheck, TpmtTkVerified,
+        TpmtHa, TpmtKdfScheme, TpmtPublicParms, TpmtRsaDecrypt, TpmtSigScheme, TpmtSignature,
+        TpmtSymDef, TpmtSymDefObject, TpmtTkAuth, TpmtTkCreation, TpmtTkHashcheck, 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 80020000002a0000013740000001010000000000000c4000000900000000033132330004deadbeef0000
 00000176 Command 0000 80020000003f00000176400000014000000100000010400000090000800007617574683132330010aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0000010010000b
 00000176 Command 0000 80010000002b0000017640000007400000070010aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0000000010000b
-0000015D Command 0000 80010000005C0000015D800000010020aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0005000Bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb8024400000070000
+0000015D Command 0000 80010000003C0000015D800000010020aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0005000B8024400000070000
+0000015D Command 0000 8002000000c90000015d80fffffe00000049020000000020013e913204ba4c050b520e5c1b298183877ba1b96b986f9cbc3fb52ec82a68fa21002081d177bfa62f2442b571932ebc03ee9f48e28f553a3272003d387ceb31857eac00205cb67f3ab8c70a63af698f78e9378254e643786a0bd31301744d15c15805c6e30018000b8024400000010040875f530de79f51f5db75e9488c7bb07b7906211e486c675791b6bb8ccdd3357ff59a1603df6d27d6814e81621586eaad9af3564ff4032e3085bcd20c94a854e6
 0000017A Response 0000 80010000020b0000000001000000060000003f00000100322e30000000010100000000000001020000008a000001030000000800000104000007e2000001054946580000000106534c42390000010736373000000001080000000000000109000000000000010a000000000000010b000700550000010c0011cb000000010d000004000000010e000000040000010f000000070000011000000003000001110000004000000112000000180000011300000003000001140000ffff00000116000000080000011700000800000001180000000600000119000040000000011a0000000b0000011b000000060000011c000000800000011d000000ff0000011e0000058c0000011f0000058c0000012000000020000001210000038f00000122000001ee00000123000000010000012400000000000001250000010300000126000000000000012700000000000001280000008000000129000000610000012a000000600000012b000000010000012c000003000000012d000000010000012e000002000000020000000004000002018000000f000002020000000d000002030000000000000204000000030000020500000000000002060000004000000207000000040000020800000001000002090000000c0000020a000000020000020b0000000c0000020c000000000000020d000000020000020e000000000000020f0000001f0000021000000258
 00000176 Response 0000 8001000000300000000002000000002000647915de6106c955b26456b8b8a3b10546fa446405d4eb2e1fb0247fb52080
 0000017A Response 0000 8001000000170000000000000000080000000200030010
-- 
2.43.0


                 reply	other threads:[~2025-12-19 12:42 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20251219124151.44945-1-petur@keystrike.com \
    --to=petur@keystrike.com \
    --cc=tpm-protocol@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox