am 71ba4e46: Merge "Unbreak obtaining symmetric keys from AndroidKeyStore."

* commit '71ba4e461f7a492b44632e282e6480345ac4b9c8':
  Unbreak obtaining symmetric keys from AndroidKeyStore.
This commit is contained in:
Shawn Willden
2015-04-15 17:59:41 +00:00
committed by Android Git Automerger

View File

@@ -55,6 +55,7 @@ import java.util.Date;
import java.util.Enumeration; import java.util.Enumeration;
import java.util.HashSet; import java.util.HashSet;
import java.util.Iterator; import java.util.Iterator;
import java.util.List;
import java.util.Set; import java.util.Set;
import javax.crypto.SecretKey; import javax.crypto.SecretKey;
@@ -116,11 +117,15 @@ public class AndroidKeyStore extends KeyStoreSpi {
throw new UnrecoverableKeyException("Key algorithm unknown"); throw new UnrecoverableKeyException("Key algorithm unknown");
} }
int keymasterDigest = List<Integer> keymasterDigests =
keyCharacteristics.hwEnforced.getInt(KeymasterDefs.KM_TAG_DIGEST, -1); keyCharacteristics.getInts(KeymasterDefs.KM_TAG_DIGEST);
if (keymasterDigest == -1) { int keymasterDigest;
keymasterDigest = if (keymasterDigests.isEmpty()) {
keyCharacteristics.swEnforced.getInt(KeymasterDefs.KM_TAG_DIGEST, -1); 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; String keyAlgorithmString;