Make SW keymaster security level configurable
This CL enables the pure software keymaster implementation to have a
configurable security level, for testing, so we can use it to test
Strongbox features.
Test: VtsHalKeymasterV4_0TargetTest (on emulator)
Change-Id: I017fd81df3dc14ac5c11943241b63ff3291a92e6
Merged-In: I1b012dcd359e294dad7771c7a91e36270d9a0289
Merged-In: I10515d77310b4d2fd2922e1083df19269f199f33
Merged-In: Ibe86062000373bb71244256c4ebd81ad42bfb0da
diff --git a/ng/AndroidKeymaster4Device.cpp b/ng/AndroidKeymaster4Device.cpp
index 70060d6..b42a19b 100644
--- a/ng/AndroidKeymaster4Device.cpp
+++ b/ng/AndroidKeymaster4Device.cpp
@@ -211,12 +211,14 @@
AndroidKeymaster4Device::AndroidKeymaster4Device(SecurityLevel securityLevel)
: impl_(new ::keymaster::AndroidKeymaster(
- []() -> auto {
- auto context = new PureSoftKeymasterContext();
+ [&]() -> auto {
+ auto context = new PureSoftKeymasterContext(
+ static_cast<keymaster_security_level_t>(securityLevel));
context->SetSystemVersion(GetOsVersion(), GetOsPatchlevel());
return context;
}(),
- kOperationTableSize)), securityLevel_(securityLevel) {}
+ kOperationTableSize)),
+ securityLevel_(securityLevel) {}
AndroidKeymaster4Device::~AndroidKeymaster4Device() {}