Relax restrictions on supported API levels
For getDiceChainKind, allow older API levels to map to VSR 13
Bug: 379763239
Test: atest libkeymint_remote_prov_support_test
(cherry picked from https://android-review.googlesource.com/q/commit:0e79b69696807a5943ad559fc5dec7366029acf1)
Merged-In: Iecacb0adfb12ff8a1c4b633eb5668b429b091f04
Change-Id: Iecacb0adfb12ff8a1c4b633eb5668b429b091f04
Per OEM request, this topic is being cherry-picked.
diff --git a/security/keymint/support/remote_prov_utils.cpp b/security/keymint/support/remote_prov_utils.cpp
index 6638775..d426919 100644
--- a/security/keymint/support/remote_prov_utils.cpp
+++ b/security/keymint/support/remote_prov_utils.cpp
@@ -974,15 +974,14 @@
ErrMsgOr<hwtrust::DiceChain::Kind> getDiceChainKind() {
int vendor_api_level = ::android::base::GetIntProperty("ro.vendor.api_level", -1);
- switch (vendor_api_level) {
- case __ANDROID_API_T__:
- return hwtrust::DiceChain::Kind::kVsr13;
- case __ANDROID_API_U__:
- return hwtrust::DiceChain::Kind::kVsr14;
- case 202404: /* TODO(b/315056516) Use a version macro for vendor API 24Q2 */
- return hwtrust::DiceChain::Kind::kVsr15;
- default:
- return "Unsupported vendor API level: " + std::to_string(vendor_api_level);
+ if (vendor_api_level <= __ANDROID_API_T__) {
+ return hwtrust::DiceChain::Kind::kVsr13;
+ } else if (vendor_api_level == __ANDROID_API_U__) {
+ return hwtrust::DiceChain::Kind::kVsr14;
+ } else if (vendor_api_level == 202404) {
+ return hwtrust::DiceChain::Kind::kVsr15;
+ } else {
+ return "Unsupported vendor API level: " + std::to_string(vendor_api_level);
}
}