Skip to content

Commit a54a27d

Browse files
hyperfinitismJuergenReppSIT
authored andcommitted
feat(tss2-mu): add TPM2_ST_ATTEST_NV_DIGEST attestation type support
Add the new NV digest attestation structure type and its marshaling and unmarshaling support to TPMU_ATTEST union. Signed-off-by: Takuma IMAMURA <209989118+hyperfinitism@users.noreply.github.com>
1 parent 6af31f9 commit a54a27d

2 files changed

Lines changed: 23 additions & 14 deletions

File tree

include/tss2/tss2_tpm2_types.h

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -629,11 +629,12 @@ typedef UINT16 TPM2_ST;
629629
#define TPM2_ST_RESERVED3 \
630630
((TPM2_ST)0x801B) /* do not use . NOTE This was previously assigned to TPM2_ST_ATTEST_NV. The \
631631
tag is changed because the structure has changed */
632-
#define TPM2_ST_CREATION ((TPM2_ST)0x8021) /* tag for a ticket type */
633-
#define TPM2_ST_VERIFIED ((TPM2_ST)0x8022) /* tag for a ticket type */
634-
#define TPM2_ST_AUTH_SECRET ((TPM2_ST)0x8023) /* tag for a ticket type */
635-
#define TPM2_ST_HASHCHECK ((TPM2_ST)0x8024) /* tag for a ticket type */
636-
#define TPM2_ST_AUTH_SIGNED ((TPM2_ST)0x8025) /* tag for a ticket type */
632+
#define TPM2_ST_ATTEST_NV_DIGEST ((TPM2_ST)0x801C) /* tag for an attestation structure */
633+
#define TPM2_ST_CREATION ((TPM2_ST)0x8021) /* tag for a ticket type */
634+
#define TPM2_ST_VERIFIED ((TPM2_ST)0x8022) /* tag for a ticket type */
635+
#define TPM2_ST_AUTH_SECRET ((TPM2_ST)0x8023) /* tag for a ticket type */
636+
#define TPM2_ST_HASHCHECK ((TPM2_ST)0x8024) /* tag for a ticket type */
637+
#define TPM2_ST_AUTH_SIGNED ((TPM2_ST)0x8025) /* tag for a ticket type */
637638
#define TPM2_ST_FU_MANIFEST \
638639
((TPM2_ST)0x8029) /* tag for a structure describing a Field Upgrade Policy */
639640

@@ -2073,13 +2074,14 @@ typedef TPM2_ST TPMI_ST_ATTEST;
20732074
/* Definition of TPMU_ATTEST Union <OUT> */
20742075
typedef union TPMU_ATTEST TPMU_ATTEST;
20752076
union TPMU_ATTEST {
2076-
TPMS_CERTIFY_INFO certify;
2077-
TPMS_CREATION_INFO creation;
2078-
TPMS_QUOTE_INFO quote;
2079-
TPMS_COMMAND_AUDIT_INFO commandAudit;
2080-
TPMS_SESSION_AUDIT_INFO sessionAudit;
2081-
TPMS_TIME_ATTEST_INFO time;
2082-
TPMS_NV_CERTIFY_INFO nv;
2077+
TPMS_CERTIFY_INFO certify;
2078+
TPMS_CREATION_INFO creation;
2079+
TPMS_QUOTE_INFO quote;
2080+
TPMS_COMMAND_AUDIT_INFO commandAudit;
2081+
TPMS_SESSION_AUDIT_INFO sessionAudit;
2082+
TPMS_TIME_ATTEST_INFO time;
2083+
TPMS_NV_CERTIFY_INFO nv;
2084+
TPMS_NV_DIGEST_CERTIFY_INFO nvDigest;
20832085
};
20842086

20852087
/* Definition of TPMS_ATTEST Structure <OUT> */

src/tss2-mu/tpmu-types.c

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -579,7 +579,11 @@ TPMU_MARSHAL2(TPMU_ATTEST,
579579
TPM2_ST_ATTEST_NV,
580580
ADDR,
581581
nv,
582-
Tss2_MU_TPMS_NV_CERTIFY_INFO_Marshal)
582+
Tss2_MU_TPMS_NV_CERTIFY_INFO_Marshal,
583+
TPM2_ST_ATTEST_NV_DIGEST,
584+
ADDR,
585+
nvDigest,
586+
Tss2_MU_TPMS_NV_DIGEST_CERTIFY_INFO_Marshal)
583587
TPMU_UNMARSHAL2(TPMU_ATTEST,
584588
TPM2_ST_ATTEST_CERTIFY,
585589
certify,
@@ -601,7 +605,10 @@ TPMU_UNMARSHAL2(TPMU_ATTEST,
601605
Tss2_MU_TPMS_TIME_ATTEST_INFO_Unmarshal,
602606
TPM2_ST_ATTEST_NV,
603607
nv,
604-
Tss2_MU_TPMS_NV_CERTIFY_INFO_Unmarshal)
608+
Tss2_MU_TPMS_NV_CERTIFY_INFO_Unmarshal,
609+
TPM2_ST_ATTEST_NV_DIGEST,
610+
nvDigest,
611+
Tss2_MU_TPMS_NV_DIGEST_CERTIFY_INFO_Unmarshal)
605612

606613
TPMU_MARSHAL2(TPMU_SYM_KEY_BITS,
607614
TPM2_ALG_AES,

0 commit comments

Comments
 (0)