Merge "Add Keymaster KM_ORIGIN_UNKNOWN constant."

This commit is contained in:
Alex Klyubin
2015-04-16 19:50:11 +00:00
committed by Gerrit Code Review
2 changed files with 13 additions and 3 deletions

View File

@@ -118,9 +118,9 @@ public final class KeymasterDefs {
public static final int KM_DIGEST_SHA_2_512 = 6;
// Key origins.
public static final int KM_ORIGIN_HARDWARE = 0;
public static final int KM_ORIGIN_SOFTWARE = 1;
public static final int KM_ORIGIN_GENERATED = 0;
public static final int KM_ORIGIN_IMPORTED = 2;
public static final int KM_ORIGIN_UNKNOWN = 3;
// Key usability requirements.
public static final int KM_BLOB_STANDALONE = 0;

View File

@@ -225,15 +225,25 @@ public abstract class KeyStoreKeyProperties {
/** Key was imported into AndroidKeyStore. */
public static final int IMPORTED = 1 << 1;
/**
* Origin of the key is unknown. This can occur only for keys backed by an old TEE
* implementation which does not record origin information.
*
* @hide
*/
public static final int UNKNOWN = 1 << 2;
/**
* @hide
*/
public static @OriginEnum int fromKeymaster(int origin) {
switch (origin) {
case KeymasterDefs.KM_ORIGIN_HARDWARE:
case KeymasterDefs.KM_ORIGIN_GENERATED:
return GENERATED;
case KeymasterDefs.KM_ORIGIN_IMPORTED:
return IMPORTED;
case KeymasterDefs.KM_ORIGIN_UNKNOWN:
return UNKNOWN;
default:
throw new IllegalArgumentException("Unknown origin: " + origin);
}