From 2c97666bb9592fb87072a93b4a50520eb3e0c34b Mon Sep 17 00:00:00 2001
From: Cyrus <24922493+cyrus-dev@users.noreply.github.com>
Date: Tue, 13 Oct 2020 13:51:14 -0400
Subject: [PATCH] This commit adds code to pull the bios measurements file to
 the ACA

---
 .../AbstractAttestationCertificateAuthority.java              | 4 ++++
 HIRS_ProvisionerTPM2/src/ProvisionerTpm2.proto                | 1 +
 HIRS_ProvisionerTPM2/src/TPM2_Provisioner.cpp                 | 2 ++
 3 files changed, 7 insertions(+)

diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/AbstractAttestationCertificateAuthority.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/AbstractAttestationCertificateAuthority.java
index b3bc65f7..ba8a54b5 100644
--- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/AbstractAttestationCertificateAuthority.java
+++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/AbstractAttestationCertificateAuthority.java
@@ -777,6 +777,10 @@ public abstract class AbstractAttestationCertificateAuthority
             }
         }
 
+        if (dv.hasLivelog()) {
+            LOG.error("Live Log Exists");
+        }
+
         // Get TPM info, currently unimplemented
         TPMInfo tpm;
         try {
diff --git a/HIRS_ProvisionerTPM2/src/ProvisionerTpm2.proto b/HIRS_ProvisionerTPM2/src/ProvisionerTpm2.proto
index 96f3d0e5..af38dbac 100644
--- a/HIRS_ProvisionerTPM2/src/ProvisionerTpm2.proto
+++ b/HIRS_ProvisionerTPM2/src/ProvisionerTpm2.proto
@@ -60,6 +60,7 @@ message DeviceInfo {
   optional bytes pcrslist = 5;
   optional bytes logfile = 6;
   optional bytes swidfile = 7;
+  optional bytes livelog = 8;
 }
 
 message IdentityClaim {
diff --git a/HIRS_ProvisionerTPM2/src/TPM2_Provisioner.cpp b/HIRS_ProvisionerTPM2/src/TPM2_Provisioner.cpp
index 03826459..f280c924 100644
--- a/HIRS_ProvisionerTPM2/src/TPM2_Provisioner.cpp
+++ b/HIRS_ProvisionerTPM2/src/TPM2_Provisioner.cpp
@@ -75,6 +75,8 @@ int provision() {
     try {
         dv.set_logfile(hirs::file_utils::fileToString(rim_file));
         dv.set_swidfile(hirs::file_utils::fileToString(swid_file));
+        dv.set_livelog(hirs::file_utils::fileToString(
+        "/sys/kernel/security/tpm0/binary_bios_measurements"));
     } catch (HirsRuntimeException& hirsRuntimeException) {
         logger.error(hirsRuntimeException.what());
     }