diff options
author | Shawn Willden <swillden@google.com> | 2015-05-26 08:31:37 -0600 |
---|---|---|
committer | Shawn Willden <swillden@google.com> | 2015-05-26 10:21:38 -0600 |
commit | 0cb6942d3efb6c056f96321c82a4b3d86af601d6 (patch) | |
tree | cd34b5b3afdce65e41c47436944048cec90db97d /hmac_key.cpp | |
parent | 13fbe3e93247943c26e7ca2ed27b6d650282b8bf (diff) | |
download | keymaster-0cb6942d3efb6c056f96321c82a4b3d86af601d6.tar.gz |
Revert "Revert "Large refactor to move context out of AndroidKeymaster.""
This reverts commit 13fbe3e93247943c26e7ca2ed27b6d650282b8bf.
Bug: 20912868, 19799085
Change-Id: Iadd6ce5cbe94956c2a2fe277f1bf5b108e4bcf57
Diffstat (limited to 'hmac_key.cpp')
-rw-r--r-- | hmac_key.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/hmac_key.cpp b/hmac_key.cpp index 294832d..1f2e4a4 100644 --- a/hmac_key.cpp +++ b/hmac_key.cpp @@ -23,12 +23,18 @@ namespace keymaster { -Key* HmacKeyFactory::LoadKey(const UnencryptedKeyBlob& blob, keymaster_error_t* error) { - return new HmacKey(blob, error); -} +keymaster_error_t HmacKeyFactory::LoadKey(const KeymasterKeyBlob& key_material, + const AuthorizationSet& hw_enforced, + const AuthorizationSet& sw_enforced, + UniquePtr<Key>* key) { + if (!key) + return KM_ERROR_OUTPUT_PARAMETER_NULL; -SymmetricKey* HmacKeyFactory::CreateKey(const AuthorizationSet& auths) { - return new HmacKey(auths); + keymaster_error_t error; + key->reset(new HmacKey(key_material, hw_enforced, sw_enforced, &error)); + if (!key->get()) + error = KM_ERROR_MEMORY_ALLOCATION_FAILED; + return error; } } // namespace keymaster |