fix(interception): enforce StrongBox op limit for software-generated keys

trackAndEnforceOpLimit was only called in the Domain.KEY_ID not-found
path, so software-generated keys (found via Domain.APP) bypassed the
STRONGBOX_MAX_CONCURRENT_OPS=4 limit entirely. DuckDetector's concurrent
signing handles test created 24+ operations that all succeeded via LRU
pruning instead of being rejected with TOO_MANY_OPERATIONS (-29).
This commit is contained in:
Enginex0
2026-03-18 03:21:34 +01:00
parent 258a65ba59
commit 7e2fc0b288
@@ -267,6 +267,8 @@ class KeyMintSecurityLevelInterceptor(
} }
} }
trackAndEnforceOpLimit(callingUid, txId)?.let { return it }
SystemLogger.info("[TX_ID: $txId] Creating SOFTWARE operation for uid=$callingUid.") SystemLogger.info("[TX_ID: $txId] Creating SOFTWARE operation for uid=$callingUid.")
val params = data.createTypedArray(KeyParameter.CREATOR)!! val params = data.createTypedArray(KeyParameter.CREATOR)!!