diff options
author | James Bottomley <James.Bottomley@HansenPartnership.com> | 2023-11-23 08:47:20 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2023-12-14 10:41:29 -0500 |
commit | f5f7a3dde4bdb9b781d9f9026d36817385f1b5e4 (patch) | |
tree | 6de8deb9d4632c99585917052238ece6b4d6ee46 | |
parent | 7ec73c40c36f8d75b416293da287a0603b89cf68 (diff) | |
download | openssl_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.h | 20 | ||||
-rw-r--r-- | src/include/intel-tss.h | 11 |
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) { |