diff options
author | Pavel Grafov <pgrafov@google.com> | 2021-02-08 16:49:29 +0000 |
---|---|---|
committer | Pavel Grafov <pgrafov@google.com> | 2021-02-08 16:49:29 +0000 |
commit | 9108ffeeb09c0d4f9b9ed08a9d60512ee8b2f13d (patch) | |
tree | d4dd29a06be1318323679e9f9bbe41d08a24db4d | |
parent | 46915d9a1423c21a2b6d5d29a990b9d886a154cf (diff) |
Make getKeyStoreForUid convert uid to namespace.
Bug: 171305388
Test: Invoking from Wifi code
Change-Id: I64e9a6edaa7942caad28592c5652cb9a79a0a934
-rw-r--r-- | keystore/java/android/security/keystore/AndroidKeyStoreProvider.java | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/keystore/java/android/security/keystore/AndroidKeyStoreProvider.java b/keystore/java/android/security/keystore/AndroidKeyStoreProvider.java index 16bf5469296f..087151711138 100644 --- a/keystore/java/android/security/keystore/AndroidKeyStoreProvider.java +++ b/keystore/java/android/security/keystore/AndroidKeyStoreProvider.java @@ -434,14 +434,16 @@ public class AndroidKeyStoreProvider extends Provider { @NonNull public static java.security.KeyStore getKeyStoreForUid(int uid) throws KeyStoreException, NoSuchProviderException { - String providerName = PROVIDER_NAME; + final java.security.KeyStore.LoadStoreParameter loadParameter; if (android.security.keystore2.AndroidKeyStoreProvider.isInstalled()) { - providerName = "AndroidKeyStoreLegacy"; + loadParameter = new android.security.keystore2.AndroidKeyStoreLoadStoreParameter( + KeyProperties.legacyUidToNamespace(uid)); + } else { + loadParameter = new AndroidKeyStoreLoadStoreParameter(uid); } - java.security.KeyStore result = - java.security.KeyStore.getInstance(providerName); + java.security.KeyStore result = java.security.KeyStore.getInstance(PROVIDER_NAME); try { - result.load(new AndroidKeyStoreLoadStoreParameter(uid)); + result.load(loadParameter); } catch (NoSuchAlgorithmException | CertificateException | IOException e) { throw new KeyStoreException( "Failed to load AndroidKeyStore KeyStore for UID " + uid, e); |