diff options
author | Shawn Willden <swillden@google.com> | 2015-04-15 17:59:41 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-04-15 17:59:41 +0000 |
commit | 1cb119d3f0945f2194d400b7f186df92bbb25567 (patch) | |
tree | 7b1df532f373ad74d3b49bda3b6a0dba5571d937 /keystore/java/android/security/AndroidKeyStore.java | |
parent | 99e23088843eddede29d0fc5ca30a83f147f31b0 (diff) | |
parent | 71ba4e461f7a492b44632e282e6480345ac4b9c8 (diff) |
am 71ba4e46: Merge "Unbreak obtaining symmetric keys from AndroidKeyStore."
* commit '71ba4e461f7a492b44632e282e6480345ac4b9c8':
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; |