diff options
-rw-r--r-- | contexts/soft_keymaster_context.cpp | 12 | ||||
-rw-r--r-- | include/keymaster/contexts/soft_keymaster_context.h | 9 |
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, |