aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Bottomley <James.Bottomley@HansenPartnership.com>2023-11-23 08:47:20 -0500
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2023-12-14 10:41:29 -0500
commitf5f7a3dde4bdb9b781d9f9026d36817385f1b5e4 (patch)
tree6de8deb9d4632c99585917052238ece6b4d6ee46
parent7ec73c40c36f8d75b416293da287a0603b89cf68 (diff)
downloadopenssl_tpm2_engine-f5f7a3dde4bdb9b781d9f9026d36817385f1b5e4.tar.gz
TSS: add locality policy
Update both TSSs to add the ability to do locality policy. Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
-rw-r--r--src/include/ibm-tss.h20
-rw-r--r--src/include/intel-tss.h11
2 files changed, 31 insertions, 0 deletions
diff --git a/src/include/ibm-tss.h b/src/include/ibm-tss.h
index b1f6e74..5bb685d 100644
--- a/src/include/ibm-tss.h
+++ b/src/include/ibm-tss.h
@@ -586,6 +586,26 @@ tpm2_PolicyRestart(TSS_CONTEXT *tssContext, TPM_HANDLE sessionHandle)
}
static inline TPM_RC
+tpm2_PolicyLocality(TSS_CONTEXT *tssContext, TPM_HANDLE policySession,
+ UINT8 locality)
+{
+ PolicyLocality_In in;
+ TPM_RC rc;
+
+ in.policySession = policySession;
+ in.locality.val = locality;
+
+ rc = TSS_Execute(tssContext,
+ NULL,
+ (COMMAND_PARAMETERS *)&in,
+ NULL,
+ TPM_CC_PolicyLocality,
+ TPM_RH_NULL, NULL, 0);
+
+ return rc;
+}
+
+static inline TPM_RC
tpm2_PolicyGetDigest(TSS_CONTEXT *tssContext, TPM_HANDLE policySession,
DIGEST_2B *digest)
{
diff --git a/src/include/intel-tss.h b/src/include/intel-tss.h
index 7525c19..2356874 100644
--- a/src/include/intel-tss.h
+++ b/src/include/intel-tss.h
@@ -70,6 +70,7 @@
#define TPM_CC_PolicyAuthValue TPM2_CC_PolicyAuthValue
#define TPM_CC_PolicyCounterTimer TPM2_CC_PolicyCounterTimer
#define TPM_CC_PolicyAuthorize TPM2_CC_PolicyAuthorize
+#define TPM_CC_PolicyLocality TPM2_CC_PolicyLocality
#define TPM_ST_HASHCHECK TPM2_ST_HASHCHECK
@@ -178,6 +179,7 @@ TYPE##_Unmarshal##ARG(TYPE *dest, \
}
TSS_CONVERT_MARSHAL(TPMT_PUBLIC, )
+TSS_CONVERT_MARSHAL(UINT8, *)
TSS_CONVERT_MARSHAL(UINT16, *)
TSS_CONVERT_MARSHAL(TPMT_SENSITIVE, )
TSS_CONVERT_MARSHAL(TPM2B_ECC_POINT, )
@@ -1045,6 +1047,15 @@ tpm2_PolicyAuthorize(TSS_CONTEXT *tssContext, TPM_HANDLE policySession,
}
static inline TPM_RC
+tpm2_PolicyLocality(TSS_CONTEXT *tssContext, TPM_HANDLE policySession,
+ UINT8 locality)
+{
+ return Esys_PolicyLocality(tssContext, policySession,
+ ESYS_TR_NONE, ESYS_TR_NONE, ESYS_TR_NONE,
+ locality);
+}
+
+static inline TPM_RC
tpm2_PolicyGetDigest(TSS_CONTEXT *tssContext, TPM_HANDLE policySession,
DIGEST_2B *digest)
{