summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2020-04-03 15:58:16 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-04-03 15:58:16 +0000
commitb034469f3d9e86e33e6cf3f281362d5a1f3f7707 (patch)
treea74350c0d91553a867a757fc4920962c0e568655
parent2640ee504bc714105d717ab6c209902474b010e0 (diff)
parent3d85d69171a46d22c4f99dd601f1811a1ebf2aa3 (diff)
downloadkeymaster-b034469f3d9e86e33e6cf3f281362d5a1f3f7707.tar.gz
Merge "Adding GetVerifiedBootParams to soft keymaster context" into rvc-dev am: 3d85d69171android-11.0.0_r16android11-d1-b-release
Change-Id: I555b9e9de40df4ecbaa3e8c80d3235e6149ab492
-rw-r--r--contexts/soft_keymaster_context.cpp12
-rw-r--r--include/keymaster/contexts/soft_keymaster_context.h9
2 files changed, 21 insertions, 0 deletions
diff --git a/contexts/soft_keymaster_context.cpp b/contexts/soft_keymaster_context.cpp
index 6c23fa4..5003c72 100644
--- a/contexts/soft_keymaster_context.cpp
+++ b/contexts/soft_keymaster_context.cpp
@@ -476,4 +476,16 @@ keymaster_error_t SoftKeymasterContext::UnwrapKey(const KeymasterKeyBlob&, const
return KM_ERROR_UNIMPLEMENTED;
}
+keymaster_error_t SoftKeymasterContext::GetVerifiedBootParams(
+ keymaster_blob_t* verified_boot_key, keymaster_blob_t* verified_boot_hash,
+ keymaster_verified_boot_t* verified_boot_state, bool* device_locked) const {
+ // TODO(swillden): See if there might be some sort of vbmeta data in goldfish/cuttlefish.
+ static std::string fake_vb_key(32, 0);
+ *verified_boot_key = {reinterpret_cast<uint8_t*>(fake_vb_key.data()), fake_vb_key.size()};
+ *verified_boot_hash = {reinterpret_cast<uint8_t*>(fake_vb_key.data()), fake_vb_key.size()};
+ *verified_boot_state = KM_VERIFIED_BOOT_UNVERIFIED;
+ *device_locked = false;
+ return KM_ERROR_OK;
+}
+
} // namespace keymaster
diff --git a/include/keymaster/contexts/soft_keymaster_context.h b/include/keymaster/contexts/soft_keymaster_context.h
index 588e3db..20a10ac 100644
--- a/include/keymaster/contexts/soft_keymaster_context.h
+++ b/include/keymaster/contexts/soft_keymaster_context.h
@@ -104,6 +104,15 @@ class SoftKeymasterContext: public KeymasterContext, SoftwareKeyBlobMaker, Softw
AuthorizationSet* sw_enforced) const override;
/*********************************************************************************************/
+ /*********************************************************************************************
+ * Implement AttestationRecordContext
+ */
+
+ keymaster_error_t GetVerifiedBootParams(keymaster_blob_t* verified_boot_key,
+ keymaster_blob_t* verified_boot_hash,
+ keymaster_verified_boot_t* verified_boot_state,
+ bool* device_locked) const override;
+
private:
keymaster_error_t ParseKeymaster1HwBlob(const KeymasterKeyBlob& blob,
const AuthorizationSet& additional_params,