summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorShawn Willden <swillden@google.com>2021-02-17 19:12:20 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2021-02-17 19:12:20 +0000
commit50a66e39cdada3f3c835b4bb6e8c905910f52b95 (patch)
tree54ae244d1eb35649c518a2b49977c8f84954d5be /core/java/android
parentec9f1c68338f45f2f583480abc47e6aba88610fd (diff)
parentbffded442a930266548f5e898d0d00d239ebe86a (diff)
Merge "Add support for app-generated attestation keys."
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/content/pm/PackageManager.java9
-rw-r--r--core/java/android/security/keymaster/KeymasterDefs.java1
2 files changed, 10 insertions, 0 deletions
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index 2a28ea7a5c51..443ae358b8cd 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -3272,6 +3272,15 @@ public abstract class PackageManager {
public static final String FEATURE_KEYSTORE_LIMITED_USE_KEY =
"android.hardware.keystore.limited_use_key";
+ /**
+ * Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}: The device has
+ * a Keystore implementation that can create application-specific attestation keys.
+ * See {@link android.security.keystore.KeyGenParameterSpec.Builder#setAttestKeyAlias}.
+ */
+ @SdkConstant(SdkConstantType.FEATURE)
+ public static final String FEATURE_KEYSTORE_APP_ATTEST_KEY =
+ "android.hardware.keystore.app_attest_key";
+
/** @hide */
public static final boolean APP_ENUMERATION_ENABLED_BY_DEFAULT = true;
diff --git a/core/java/android/security/keymaster/KeymasterDefs.java b/core/java/android/security/keymaster/KeymasterDefs.java
index a79b197d3faa..5a89cdf1d340 100644
--- a/core/java/android/security/keymaster/KeymasterDefs.java
+++ b/core/java/android/security/keymaster/KeymasterDefs.java
@@ -188,6 +188,7 @@ public final class KeymasterDefs {
public static final int KM_PURPOSE_VERIFY = KeyPurpose.VERIFY;
public static final int KM_PURPOSE_WRAP = KeyPurpose.WRAP_KEY;
public static final int KM_PURPOSE_AGREE_KEY = KeyPurpose.AGREE_KEY;
+ public static final int KM_PURPOSE_ATTEST_KEY = KeyPurpose.ATTEST_KEY;
// Key formats.
public static final int KM_KEY_FORMAT_X509 = KeyFormat.X509;