summaryrefslogtreecommitdiffstats
path: root/android_keymaster
diff options
context:
space:
mode:
authorJanis Danisevskis <jdanis@google.com>2017-05-11 10:56:27 -0700
committerJanis Danisevskis <jdanis@google.com>2017-10-02 12:30:41 -0700
commit1455d2ea9966089cac31c1f46542e74e9925e995 (patch)
treef931b32697badecef48394318c9784574e3b47e9 /android_keymaster
parentd8091853875f77a7646881b1ebc219a52dca81b7 (diff)
downloadandroid_system_keymaster-1455d2ea9966089cac31c1f46542e74e9925e995.tar.gz
android_system_keymaster-1455d2ea9966089cac31c1f46542e74e9925e995.tar.bz2
android_system_keymaster-1455d2ea9966089cac31c1f46542e74e9925e995.zip
Removed KeymasterEnforcement dependencies on openssl
KeymasterEnforcement is part of the AndroidKeymaster core logic. It had implementation details that depend on openssl. The core logic shall have speciall libray dependencies (e.g., openssl). This patch removes implementation details from Keymasterenforcement and provides a new module soft_keymaster_enforcement which implements these details. Test: VtsHalKeymasterV3_0TargetTest Bug: 67358942 Change-Id: Iff481de1a04308cba7e0ecc9ade54a68b8ef4411
Diffstat (limited to 'android_keymaster')
-rw-r--r--android_keymaster/keymaster_enforcement.cpp28
1 files changed, 0 insertions, 28 deletions
diff --git a/android_keymaster/keymaster_enforcement.cpp b/android_keymaster/keymaster_enforcement.cpp
index 20be041..28160e5 100644
--- a/android_keymaster/keymaster_enforcement.cpp
+++ b/android_keymaster/keymaster_enforcement.cpp
@@ -386,34 +386,6 @@ keymaster_error_t KeymasterEnforcement::AuthorizeBegin(const keymaster_purpose_t
return KM_ERROR_OK;
}
-class EvpMdCtx {
- public:
- EvpMdCtx() { EVP_MD_CTX_init(&ctx_); }
- ~EvpMdCtx() { EVP_MD_CTX_cleanup(&ctx_); }
-
- EVP_MD_CTX* get() { return &ctx_; }
-
- private:
- EVP_MD_CTX ctx_;
-};
-
-/* static */
-bool KeymasterEnforcement::CreateKeyId(const keymaster_key_blob_t& key_blob, km_id_t* keyid) {
- EvpMdCtx ctx;
-
- uint8_t hash[EVP_MAX_MD_SIZE];
- unsigned int hash_len;
- if (EVP_DigestInit_ex(ctx.get(), EVP_sha256(), nullptr /* ENGINE */) &&
- EVP_DigestUpdate(ctx.get(), key_blob.key_material, key_blob.key_material_size) &&
- EVP_DigestFinal_ex(ctx.get(), hash, &hash_len)) {
- assert(hash_len >= sizeof(*keyid));
- memcpy(keyid, hash, sizeof(*keyid));
- return true;
- }
-
- return false;
-}
-
bool KeymasterEnforcement::MinTimeBetweenOpsPassed(uint32_t min_time_between, const km_id_t keyid) {
if (!access_time_map_)
return false;