Merge "Added listUidsForAuthBoundKeys to KeyStore" am: 73e9640194

am: 3090f045a7

Change-Id: I10ebfdc276a6af84b32b116c6d93f488ad0c97b8
This commit is contained in:
Rob Barnes
2018-11-15 10:01:53 -08:00
committed by android-build-merger

View File

@@ -54,6 +54,7 @@ import java.math.BigInteger;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.security.InvalidKeyException;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
import java.util.concurrent.CompletableFuture;
@@ -296,6 +297,31 @@ public class KeyStore {
}
}
/**
* List uids of all keys that are auth bound to the current user.
* Only system is allowed to call this method.
*/
@UnsupportedAppUsage
public int[] listUidsOfAuthBoundKeys() {
final int MAX_RESULT_SIZE = 100;
int[] uidsOut = new int[MAX_RESULT_SIZE];
try {
int rc = mBinder.listUidsOfAuthBoundKeys(uidsOut);
if (rc != NO_ERROR) {
Log.w(TAG, String.format("listUidsOfAuthBoundKeys failed with error code %d", rc));
return null;
}
} catch (RemoteException e) {
Log.w(TAG, "Cannot connect to keystore", e);
return null;
} catch (android.os.ServiceSpecificException e) {
Log.w(TAG, "KeyStore exception", e);
return null;
}
// Remove any 0 entries
return Arrays.stream(uidsOut).filter(x -> x > 0).toArray();
}
public String[] list(String prefix) {
return list(prefix, UID_SELF);
}