summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2020-06-09 01:37:49 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-06-09 01:37:49 +0000
commit104fad4a0a9224e079de126e9260605fa700cef4 (patch)
treeeb1db0c53464d29ae8890c5150761d63205c60e0
parentf5ac5c4b58580a90849fc83600378fe8c816a92f (diff)
parentc0a6e883d2ea8841a0da93e2f7bc7e739214b64b (diff)
downloadSecureElement-104fad4a0a9224e079de126e9260605fa700cef4.tar.gz
Snap for 6570104 from 69dbe6f5de0429289fce35841c2b394ea25a26bb to rvc-release am: c0a6e883d2
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/SecureElement/+/11800743 Change-Id: I68d9857433e29dde82a25b0e3c6e1311b1d538e6
-rw-r--r--src/com/android/se/Terminal.java25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/com/android/se/Terminal.java b/src/com/android/se/Terminal.java
index fb507e0..080f337 100644
--- a/src/com/android/se/Terminal.java
+++ b/src/com/android/se/Terminal.java
@@ -51,6 +51,7 @@ import com.android.se.security.ChannelAccess;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
@@ -84,6 +85,26 @@ public class Terminal {
private static final String SECURE_ELEMENT_PRIVILEGED_OPERATION_PERMISSION =
"android.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION";
+ public static final byte[] ISD_R_AID =
+ new byte[]{
+ (byte) 0xA0,
+ (byte) 0x00,
+ (byte) 0x00,
+ (byte) 0x05,
+ (byte) 0x59,
+ (byte) 0x10,
+ (byte) 0x10,
+ (byte) 0xFF,
+ (byte) 0xFF,
+ (byte) 0xFF,
+ (byte) 0xFF,
+ (byte) 0x89,
+ (byte) 0x00,
+ (byte) 0x00,
+ (byte) 0x01,
+ (byte) 0x00,
+ };
+
private ISecureElementHalCallback.Stub mHalCallback = new ISecureElementHalCallback.Stub() {
@Override
public void onStateChange(boolean state) {
@@ -719,7 +740,9 @@ public class Terminal {
}
mAccessControlEnforcer.setPackageManager(mContext.getPackageManager());
- if (getName().startsWith(SecureElementService.UICC_TERMINAL)) {
+ // Check carrier privilege when AID is not ISD-R
+ if (getName().startsWith(SecureElementService.UICC_TERMINAL)
+ && !Arrays.equals(aid, ISD_R_AID)) {
try {
PackageManager pm = mContext.getPackageManager();
if (pm != null) {