diff options
| author | 2015-11-16 20:31:36 +0000 | |
|---|---|---|
| committer | 2015-11-16 20:31:36 +0000 | |
| commit | 00245ffce4d08fbb6aeaeba62b8a30ce234862fa (patch) | |
| tree | a396788e13e49256578cde402410090789b9e922 | |
| parent | 2fba776ee0227e54f750dc6b87c8ca1bc1fd556f (diff) | |
| parent | 5995579f5ff1511f4a089dd0537cd634fb615465 (diff) | |
Merge "Insert Android Keystore JCA Provider at the correct position." am: 887d348d7e
am: 5995579f5f
* commit '5995579f5ff1511f4a089dd0537cd634fb615465':
Insert Android Keystore JCA Provider at the correct position.
| -rw-r--r-- | keystore/java/android/security/keystore/AndroidKeyStoreProvider.java | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/keystore/java/android/security/keystore/AndroidKeyStoreProvider.java b/keystore/java/android/security/keystore/AndroidKeyStoreProvider.java index ba39ba70f4d3..85cb4dfb095a 100644 --- a/keystore/java/android/security/keystore/AndroidKeyStoreProvider.java +++ b/keystore/java/android/security/keystore/AndroidKeyStoreProvider.java @@ -97,20 +97,21 @@ public class AndroidKeyStoreProvider extends Provider { */ public static void install() { Provider[] providers = Security.getProviders(); - int bcProviderPosition = -1; - for (int position = 0; position < providers.length; position++) { - Provider provider = providers[position]; + int bcProviderIndex = -1; + for (int i = 0; i < providers.length; i++) { + Provider provider = providers[i]; if ("BC".equals(provider.getName())) { - bcProviderPosition = position; + bcProviderIndex = i; break; } } Security.addProvider(new AndroidKeyStoreProvider()); Provider workaroundProvider = new AndroidKeyStoreBCWorkaroundProvider(); - if (bcProviderPosition != -1) { + if (bcProviderIndex != -1) { // Bouncy Castle provider found -- install the workaround provider above it. - Security.insertProviderAt(workaroundProvider, bcProviderPosition); + // insertProviderAt uses 1-based positions. + Security.insertProviderAt(workaroundProvider, bcProviderIndex + 1); } else { // Bouncy Castle provider not found -- install the workaround provider at lowest // priority. |