Merge "Unbreak obtaining symmetric keys from AndroidKeyStore."
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user