From 708fc9404501ac42b6cac925fe3e10801b5f633b Mon Sep 17 00:00:00 2001 From: Alex Klyubin Date: Tue, 28 Apr 2015 18:58:47 -0700 Subject: Add KeyPermanentlyInvalidatedException. This enables users of AndroidKeyStore crypto to differentiate between the key being unusable until the user is authenticated (UserNotAuthenticatedException) and the key being permanently unusable (KeyPermanentlyInvalidatedException). The latter is the case when the secure lock screen has been disabled or reset, and, for keys that require user authentication for every use, when a new fingerprint is enrolled or all fingerprints are unenrolled. NOTE: The KeyPermanentlyInvalidatedException subsumes/replaces the NewFingerprintEnrolledException which has thus been removed. There is no way to find out whether a key was permenently invalidated specifically because a new fingerprint was added. Bug: 20642549 Bug: 20526234 Change-Id: I0206cd99eef5c605c9c4d6afc5eea02eb3b1fe6b --- api/current.txt | 11 ++++++----- api/system-current.txt | 11 ++++++----- 2 files changed, 12 insertions(+), 10 deletions(-) (limited to 'api') diff --git a/api/current.txt b/api/current.txt index 3ba9483..08dc6f2 100644 --- a/api/current.txt +++ b/api/current.txt @@ -28614,6 +28614,12 @@ package android.security { method public android.security.KeyPairGeneratorSpec.Builder setUserAuthenticationValidityDurationSeconds(int); } + public class KeyPermanentlyInvalidatedException extends java.security.InvalidKeyException { + ctor public KeyPermanentlyInvalidatedException(); + ctor public KeyPermanentlyInvalidatedException(java.lang.String); + ctor public KeyPermanentlyInvalidatedException(java.lang.String, java.lang.Throwable); + } + public abstract class KeyStoreKeyProperties { } @@ -28694,11 +28700,6 @@ package android.security { method public boolean isCleartextTrafficPermitted(); } - public class NewFingerprintEnrolledException extends java.security.InvalidKeyException { - ctor public NewFingerprintEnrolledException(); - ctor public NewFingerprintEnrolledException(java.lang.String); - } - public class UserNotAuthenticatedException extends java.security.InvalidKeyException { ctor public UserNotAuthenticatedException(); ctor public UserNotAuthenticatedException(java.lang.String); diff --git a/api/system-current.txt b/api/system-current.txt index 72e11b8..92f0a1f 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -30619,6 +30619,12 @@ package android.security { method public android.security.KeyPairGeneratorSpec.Builder setUserAuthenticationValidityDurationSeconds(int); } + public class KeyPermanentlyInvalidatedException extends java.security.InvalidKeyException { + ctor public KeyPermanentlyInvalidatedException(); + ctor public KeyPermanentlyInvalidatedException(java.lang.String); + ctor public KeyPermanentlyInvalidatedException(java.lang.String, java.lang.Throwable); + } + public abstract class KeyStoreKeyProperties { } @@ -30699,11 +30705,6 @@ package android.security { method public boolean isCleartextTrafficPermitted(); } - public class NewFingerprintEnrolledException extends java.security.InvalidKeyException { - ctor public NewFingerprintEnrolledException(); - ctor public NewFingerprintEnrolledException(java.lang.String); - } - public class UserNotAuthenticatedException extends java.security.InvalidKeyException { ctor public UserNotAuthenticatedException(); ctor public UserNotAuthenticatedException(java.lang.String); -- cgit v1.1