From 3a435f03906778677b846baa7ebedadd3119e892 Mon Sep 17 00:00:00 2001 From: Robin Lee Date: Mon, 21 Dec 2015 12:06:04 +0000 Subject: [PATCH] Return null on getPrivateKey failure not exception According to documentation: Returns the {@code PrivateKey} for the requested alias, or null if there is no result. @throws KeyChainException if the alias was valid but there was some problem accessing it. @throws IllegalStateException if called from the main thread. In this case the alias doesn't exist or isn't visible to the caller so they should get null back instead of KeyChainException. Change-Id: Ied5603ac6aefbcef79050f24c2aa7ee8f386be0b --- keystore/java/android/security/KeyChain.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keystore/java/android/security/KeyChain.java b/keystore/java/android/security/KeyChain.java index 40fb0d3750a84..7adad8a4b86e9 100644 --- a/keystore/java/android/security/KeyChain.java +++ b/keystore/java/android/security/KeyChain.java @@ -350,7 +350,7 @@ public final class KeyChain { /** * Returns the {@code PrivateKey} for the requested alias, or null - * if no there is no result. + * if there is no result. * *

This method may block while waiting for a connection to another process, and must never * be called from the main thread. @@ -371,7 +371,7 @@ public final class KeyChain { final IKeyChainService keyChainService = keyChainConnection.getService(); final String keyId = keyChainService.requestPrivateKey(alias); if (keyId == null) { - throw new KeyChainException("keystore had a problem"); + return null; } return AndroidKeyStoreProvider.loadAndroidKeyStorePrivateKeyFromKeystore( KeyStore.getInstance(), keyId, KeyStore.UID_SELF);