diff options
author | Shawn Willden <swillden@google.com> | 2015-04-15 18:10:04 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-04-15 18:10:04 +0000 |
commit | 763100e6442494a85cfcb7949c8021836071b1f6 (patch) | |
tree | 824e4cc06f2c356f2fa185e5fd8611546bdffb48 /keystore/java/android/security/AndroidKeyStore.java | |
parent | 360d0f615eebe5aba0fa574acf81459cca8dd1f0 (diff) | |
parent | 1cb119d3f0945f2194d400b7f186df92bbb25567 (diff) |
am 1cb119d3: am 71ba4e46: Merge "Unbreak obtaining symmetric keys from AndroidKeyStore."
* commit '1cb119d3f0945f2194d400b7f186df92bbb25567':
Unbreak obtaining symmetric keys from AndroidKeyStore.
Diffstat (limited to 'keystore/java/android/security/AndroidKeyStore.java')
-rw-r--r-- | keystore/java/android/security/AndroidKeyStore.java | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/keystore/java/android/security/AndroidKeyStore.java b/keystore/java/android/security/AndroidKeyStore.java index fcee9fc87215..964fb21f56b0 100644 --- a/keystore/java/android/security/AndroidKeyStore.java +++ b/keystore/java/android/security/AndroidKeyStore.java @@ -55,6 +55,7 @@ import java.util.Date; import java.util.Enumeration; import java.util.HashSet; import java.util.Iterator; +import java.util.List; import java.util.Set; import javax.crypto.SecretKey; @@ -116,11 +117,15 @@ public class AndroidKeyStore extends KeyStoreSpi { throw new UnrecoverableKeyException("Key algorithm unknown"); } - int keymasterDigest = - keyCharacteristics.hwEnforced.getInt(KeymasterDefs.KM_TAG_DIGEST, -1); - if (keymasterDigest == -1) { - keymasterDigest = - keyCharacteristics.swEnforced.getInt(KeymasterDefs.KM_TAG_DIGEST, -1); + List<Integer> keymasterDigests = + keyCharacteristics.getInts(KeymasterDefs.KM_TAG_DIGEST); + int keymasterDigest; + if (keymasterDigests.isEmpty()) { + keymasterDigest = -1; + } else { + // More than one digest can be permitted for this key. Use the first one to form the + // JCA key algorithm name. + keymasterDigest = keymasterDigests.get(0); } String keyAlgorithmString; |