Merge "Make os_version optional for StrongBox" am: fc3fdf1a96 am: be60ee6543 am: f402fd2a55 am: fa59f35bce
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1971121
Change-Id: Ib268a21c6b06400e98400a86e0ae459de4a82603
diff --git a/security/keymint/aidl/android/hardware/security/keymint/DeviceInfo.aidl b/security/keymint/aidl/android/hardware/security/keymint/DeviceInfo.aidl
index 153a04f..abb2a7b 100644
--- a/security/keymint/aidl/android/hardware/security/keymint/DeviceInfo.aidl
+++ b/security/keymint/aidl/android/hardware/security/keymint/DeviceInfo.aidl
@@ -40,7 +40,9 @@
* "vb_state" : "green" / "yellow" / "orange", // Taken from the AVB values
* "bootloader_state" : "locked" / "unlocked", // Taken from the AVB values
* "vbmeta_digest": bstr, // Taken from the AVB values
- * "os_version" : tstr, // Same as android.os.Build.VERSION.release
+ * ? "os_version" : tstr, // Same as
+ * // android.os.Build.VERSION.release
+ * // Not optional for TEE.
* "system_patch_level" : uint, // YYYYMMDD
* "boot_patch_level" : uint, // YYYYMMDD
* "vendor_patch_level" : uint, // YYYYMMDD
diff --git a/security/keymint/aidl/vts/functional/VtsRemotelyProvisionedComponentTests.cpp b/security/keymint/aidl/vts/functional/VtsRemotelyProvisionedComponentTests.cpp
index 927d7d7..e2d75ce 100644
--- a/security/keymint/aidl/vts/functional/VtsRemotelyProvisionedComponentTests.cpp
+++ b/security/keymint/aidl/vts/functional/VtsRemotelyProvisionedComponentTests.cpp
@@ -492,7 +492,6 @@
ASSERT_NE(allowList.find(deviceInfo->get("bootloader_state")->asTstr()->value()),
allowList.end());
checkType(deviceInfo, cppbor::BSTR, "vbmeta_digest");
- checkType(deviceInfo, cppbor::TSTR, "os_version");
checkType(deviceInfo, cppbor::UINT, "system_patch_level");
checkType(deviceInfo, cppbor::UINT, "boot_patch_level");
checkType(deviceInfo, cppbor::UINT, "vendor_patch_level");
@@ -502,6 +501,9 @@
allowList = getAllowedSecurityLevels();
ASSERT_NE(allowList.find(deviceInfo->get("security_level")->asTstr()->value()),
allowList.end());
+ if (deviceInfo->get("security_level")->asTstr()->value() == "tee") {
+ checkType(deviceInfo, cppbor::TSTR, "os_version");
+ }
break;
case 1:
checkType(deviceInfo, cppbor::TSTR, "security_level");