diff options
author | Jim Blackler <jimblackler@google.com> | 2021-10-11 15:27:29 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-10-11 15:27:29 +0000 |
commit | 6872cf4c1db064d8329c37a9244ab0dbb37d18c3 (patch) | |
tree | 9b98992a12e112c55f93e12b98d261eeba57e279 /keymaster | |
parent | 051c72e1ffd624e308e5e456532ad4758a032378 (diff) | |
parent | a47931ad1fc647befdb2ca7172f4cd37fdfbafac (diff) |
Merge "Revert "Delete KM1"" am: 0531c94771 am: 7e0f50f4fe am: cb8a6b42d2 am: 1977dffb15 am: a47931ad1f
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1853098
Change-Id: I9e8aadf21c1f372458caf5e006a0ec714f449f2b
Diffstat (limited to 'keymaster')
-rw-r--r-- | keymaster/3.0/default/Android.mk | 2 | ||||
-rw-r--r-- | keymaster/3.0/default/KeymasterDevice.cpp | 21 | ||||
-rw-r--r-- | keymaster/3.0/vts/functional/Android.bp | 7 | ||||
-rw-r--r-- | keymaster/4.0/vts/performance/Android.bp | 4 |
4 files changed, 25 insertions, 9 deletions
diff --git a/keymaster/3.0/default/Android.mk b/keymaster/3.0/default/Android.mk index 0c4e3c569a..053ad671fb 100644 --- a/keymaster/3.0/default/Android.mk +++ b/keymaster/3.0/default/Android.mk @@ -12,7 +12,7 @@ LOCAL_SRC_FILES := \ LOCAL_SHARED_LIBRARIES := \ liblog \ - libpuresoftkeymasterdevice \ + libsoftkeymasterdevice \ libcrypto \ libkeymaster_portable \ libpuresoftkeymasterdevice \ diff --git a/keymaster/3.0/default/KeymasterDevice.cpp b/keymaster/3.0/default/KeymasterDevice.cpp index 25f16b57df..8b416c3f9a 100644 --- a/keymaster/3.0/default/KeymasterDevice.cpp +++ b/keymaster/3.0/default/KeymasterDevice.cpp @@ -22,6 +22,7 @@ #include <log/log.h> #include <AndroidKeymaster3Device.h> +#include <hardware/keymaster1.h> #include <hardware/keymaster2.h> #include <hardware/keymaster_defs.h> @@ -31,6 +32,18 @@ namespace keymaster { namespace V3_0 { namespace implementation { +static int get_keymaster1_dev(keymaster1_device_t** dev, const hw_module_t* mod) { + int rc = keymaster1_open(mod, dev); + if (rc) { + ALOGE("Error %d opening keystore keymaster1 device", rc); + if (*dev) { + (*dev)->common.close(&(*dev)->common); + *dev = nullptr; + } + } + return rc; +} + static int get_keymaster2_dev(keymaster2_device_t** dev, const hw_module_t* mod) { int rc = keymaster2_open(mod, dev); if (rc) { @@ -50,8 +63,14 @@ static IKeymasterDevice* createKeymaster3Device() { return ::keymaster::ng::CreateKeymasterDevice(); } - if (mod->module_api_version < KEYMASTER_MODULE_API_VERSION_2_0) { + if (mod->module_api_version < KEYMASTER_MODULE_API_VERSION_1_0) { return nullptr; + } else if (mod->module_api_version == KEYMASTER_MODULE_API_VERSION_1_0) { + keymaster1_device_t* dev = nullptr; + if (get_keymaster1_dev(&dev, mod)) { + return nullptr; + } + return ::keymaster::ng::CreateKeymasterDevice(dev); } else { keymaster2_device_t* dev = nullptr; if (get_keymaster2_dev(&dev, mod)) { diff --git a/keymaster/3.0/vts/functional/Android.bp b/keymaster/3.0/vts/functional/Android.bp index 6b75faa12f..e2ae80373f 100644 --- a/keymaster/3.0/vts/functional/Android.bp +++ b/keymaster/3.0/vts/functional/Android.bp @@ -36,10 +36,7 @@ cc_test { static_libs: [ "android.hardware.keymaster@3.0", "libcrypto_static", - "libpuresoftkeymasterdevice", - ], - test_suites: [ - "general-tests", - "vts", + "libsoftkeymasterdevice", ], + test_suites: ["general-tests", "vts"], } diff --git a/keymaster/4.0/vts/performance/Android.bp b/keymaster/4.0/vts/performance/Android.bp index 93b27bc44a..d7342ad253 100644 --- a/keymaster/4.0/vts/performance/Android.bp +++ b/keymaster/4.0/vts/performance/Android.bp @@ -32,7 +32,7 @@ cc_benchmark { static_libs: [ "android.hardware.keymaster@4.0", "libkeymaster4support", - "libpuresoftkeymasterdevice", - "libchrome", + "libsoftkeymasterdevice", + "libchrome" ], } |