OSDN Git Service

Fix use of auth-bound keys after screen lock removal
authorJanis Danisevskis <jdanis@google.com>
Fri, 1 Sep 2017 21:45:16 +0000 (14:45 -0700)
committerShawn Willden <swillden@google.com>
Tue, 12 Sep 2017 04:13:11 +0000 (04:13 +0000)
When an auth-bound key is used after the screen lock has been removed by
the user, KeyStore.begin retruns UNINITIALIZED.

This patch adds handling for this error code, indicating that the key
that was to be used was permanently invalidated.

Bug: 65200397
Test: CtsVerifier ScreenLockBoundKeysTest:
      1. Run test
      2. with CtsVerifier in the background remove the screen lock
         through the settings dialog
      3. Select VtsVerifier in 'recents'
      4. Run test again

Change-Id: If68ba0eb2f9c04655fe8c9eea28c4491eae8e92f
(cherry picked from commit d07d3384279c0c07c5c6747ea8d0c5684264c9d0)

keystore/java/android/security/KeyStore.java

index ccf9de0..7e959a8 100644 (file)
@@ -754,6 +754,8 @@ public class KeyStore {
                 // None of the key's SIDs can ever be authenticated
                 return new KeyPermanentlyInvalidatedException();
             }
+            case UNINITIALIZED:
+                return new KeyPermanentlyInvalidatedException();
             default:
                 return new InvalidKeyException("Keystore operation failed", e);
         }