blob: 9ad34a9dc20410ef1bc5d6374f73d9c91771a9b3 [file] [log] [blame]
diff --git b/tpm_generated.c a/tpm_generated.c
index b6bd839..954bff3 100644
--- b/tpm_generated.c
+++ a/tpm_generated.c
@@ -2349,7 +2349,11 @@ UINT16 TPMS_SIG_SCHEME_RSASSA_Marshal(TPMS_SIG_SCHEME_RSASSA* source,
TPM_RC TPMS_SIG_SCHEME_RSASSA_Unmarshal(TPMS_SIG_SCHEME_RSASSA* target,
BYTE** buffer,
INT32* size) {
+#if defined(SUPPORT_PADDING_ONLY_RSASSA) && SUPPORT_PADDING_ONLY_RSASSA == YES
+ return TPMI_ALG_HASH_Unmarshal(&target->hashAlg, buffer, size, TRUE);
+#else
return TPMS_SCHEME_HASH_Unmarshal(target, buffer, size);
+#endif
}
UINT16 TPMS_ENC_SCHEME_OAEP_Marshal(TPMS_ENC_SCHEME_OAEP* source,
diff --git b/tpm_types.h a/tpm_types.h
index eec5e48..9528c36 100644
--- b/tpm_types.h
+++ a/tpm_types.h
@@ -370,6 +370,7 @@ typedef UINT8 TPM_HT;
#define TPM_HT_PERMANENT 0x40
#define TPM_HT_TRANSIENT 0x80
#define TPM_HT_PERSISTENT 0x81
+#define TPM_HT_HIDDEN 0xfe
// Table 29 Definition of TPM_RH Constants < S>
typedef TPM_HANDLE TPM_RH;
@@ -404,6 +405,7 @@ typedef TPM_HANDLE TPM_HC;
#define HR_PERSISTENT (TPM_HT_PERSISTENT << HR_SHIFT)
#define HR_NV_INDEX (TPM_HT_NV_INDEX << HR_SHIFT)
#define HR_PERMANENT (TPM_HT_PERMANENT << HR_SHIFT)
+#define HR_HIDDEN (TPM_HT_HIDDEN << HR_SHIFT)
#define PCR_FIRST (HR_PCR + 0)
#define PCR_LAST (PCR_FIRST + IMPLEMENTATION_PCR-1)
#define HMAC_SESSION_FIRST (HR_HMAC_SESSION + 0)
@@ -1119,9 +1121,12 @@ typedef union {
#ifdef TPM_ALG_ECDSA
TPMS_SIG_SCHEME_ECDSA ecdsa;
#endif
-#ifdef TPM_ALG_ECDAA
+// TODO(ngm): ECDAA is not currently supported
+// on CR50, but this field has unguarded references
+// in CryptUtil.c, so allow its inclusion.
+// #ifdef TPM_ALG_ECDAA
TPMS_SIG_SCHEME_ECDAA ecdaa;
-#endif
+// #endif
#ifdef TPM_ALG_SM2
TPMS_SIG_SCHEME_SM2 sm2;
#endif
diff --git a/tpm_types.h b/tpm_types.h
index 9528c36..822e5bd 100644
--- a/tpm_types.h
+++ b/tpm_types.h
@@ -368,9 +368,9 @@ typedef UINT8 TPM_HT;
#define TPM_HT_POLICY_SESSION 0x03
#define TPM_HT_ACTIVE_SESSION 0x03
#define TPM_HT_PERMANENT 0x40
-#define TPM_HT_TRANSIENT 0x80
-#define TPM_HT_PERSISTENT 0x81
-#define TPM_HT_HIDDEN 0xfe
+#define TPM_HT_TRANSIENT ((TPM_HT)0x80)
+#define TPM_HT_PERSISTENT ((TPM_HT)0x81)
+#define TPM_HT_HIDDEN ((TPM_HT)0xfe)
// Table 29 Definition of TPM_RH Constants < S>
typedef TPM_HANDLE TPM_RH;