}
const char *tpm2_pcr_bank_to_string(uint16_t bank) {
- /* For now, let's officially only support these two. We can extend this later on, should the need
- * arise. */
- if (bank == TPM2_ALG_SHA256)
- return "sha256";
if (bank == TPM2_ALG_SHA1)
return "sha1";
+ if (bank == TPM2_ALG_SHA256)
+ return "sha256";
+ if (bank == TPM2_ALG_SHA384)
+ return "sha384";
+ if (bank == TPM2_ALG_SHA512)
+ return "sha512";
return NULL;
}
int tpm2_pcr_bank_from_string(const char *bank) {
- if (streq_ptr(bank, "sha256"))
- return TPM2_ALG_SHA256;
if (streq_ptr(bank, "sha1"))
return TPM2_ALG_SHA1;
+ if (streq_ptr(bank, "sha256"))
+ return TPM2_ALG_SHA256;
+ if (streq_ptr(bank, "sha384"))
+ return TPM2_ALG_SHA384;
+ if (streq_ptr(bank, "sha512"))
+ return TPM2_ALG_SHA512;
return -EINVAL;
}
/* We want the helpers below to work also if TPM2 libs are not available, hence define these four defines if
* they are missing. */
+#ifndef TPM2_ALG_SHA1
+#define TPM2_ALG_SHA1 0x4
+#endif
+
#ifndef TPM2_ALG_SHA256
#define TPM2_ALG_SHA256 0xB
#endif
-#ifndef TPM2_ALG_SHA1
-#define TPM2_ALG_SHA1 0x4
+#ifndef TPM2_ALG_SHA384
+#define TPM2_ALG_SHA384 0xC
+#endif
+
+#ifndef TPM2_ALG_SHA512
+#define TPM2_ALG_SHA512 0xD
#endif
#ifndef TPM2_ALG_ECC