diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2021-02-06 04:43:49 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2021-02-06 04:43:49 +0000 |
commit | 2ced3500432471300e01bb3667b998361ecd0413 (patch) | |
tree | 38427df5463132a9bc79485c85e5ea49cba27652 /keystore | |
parent | f76916a1c96da768e212245c4bebdc6a09bafcad (diff) | |
parent | b6a9ed2f65e7a5af9524cca95468d854d1c402a4 (diff) |
Merge "Keystore 2.0: Fix getKey returns null on key not found."
Diffstat (limited to 'keystore')
-rw-r--r-- | keystore/java/android/security/keystore2/AndroidKeyStoreProvider.java | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/keystore/java/android/security/keystore2/AndroidKeyStoreProvider.java b/keystore/java/android/security/keystore2/AndroidKeyStoreProvider.java index 75ac61a22cab..e1011155248e 100644 --- a/keystore/java/android/security/keystore2/AndroidKeyStoreProvider.java +++ b/keystore/java/android/security/keystore2/AndroidKeyStoreProvider.java @@ -352,14 +352,17 @@ public class AndroidKeyStoreProvider extends Provider { try { response = keyStore.getKeyEntry(descriptor); } catch (android.security.KeyStoreException e) { - if (e.getErrorCode() == ResponseCode.KEY_PERMANENTLY_INVALIDATED) { - throw new KeyPermanentlyInvalidatedException( - "User changed or deleted their auth credentials", - e); - } else { - throw (UnrecoverableKeyException) - new UnrecoverableKeyException("Failed to obtain information about key") - .initCause(e); + switch (e.getErrorCode()) { + case ResponseCode.KEY_NOT_FOUND: + return null; + case ResponseCode.KEY_PERMANENTLY_INVALIDATED: + throw new KeyPermanentlyInvalidatedException( + "User changed or deleted their auth credentials", + e); + default: + throw (UnrecoverableKeyException) + new UnrecoverableKeyException("Failed to obtain information about key") + .initCause(e); } } |