diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2020-06-09 01:37:49 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-06-09 01:37:49 +0000 |
commit | 104fad4a0a9224e079de126e9260605fa700cef4 (patch) | |
tree | eb1db0c53464d29ae8890c5150761d63205c60e0 | |
parent | f5ac5c4b58580a90849fc83600378fe8c816a92f (diff) | |
parent | c0a6e883d2ea8841a0da93e2f7bc7e739214b64b (diff) | |
download | SecureElement-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.java | 25 |
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) { |