diff options
author | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-08-13 16:37:28 +0200 |
---|---|---|
committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-08-13 16:37:28 +0200 |
commit | 38da2af0e89ca05f2a01ed08801dee635784168e (patch) | |
tree | f90f3190edb27d92e76f8a1dae6b9eeea6ddd890 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java | |
parent | e4c86747926f6c9ae8c3eafd55409107886565b9 (diff) | |
download | open-keychain-38da2af0e89ca05f2a01ed08801dee635784168e.tar.gz open-keychain-38da2af0e89ca05f2a01ed08801dee635784168e.tar.bz2 open-keychain-38da2af0e89ca05f2a01ed08801dee635784168e.zip |
Better error handling for passphrase cache if key is missing
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java')
-rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java index 50c8fcf3b..1d3d7d02f 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java @@ -168,8 +168,7 @@ public class OpenPgpService extends RemoteService { } if (passphrase == null) { // get PendingIntent for passphrase input, add it to given params and return to client - Intent passphraseBundle = getPassphraseBundleIntent(data, accSettings.getKeyId()); - return passphraseBundle; + return getPassphraseBundleIntent(data, accSettings.getKeyId()); } // Get Input- and OutputStream from ParcelFileDescriptor @@ -289,8 +288,7 @@ public class OpenPgpService extends RemoteService { } if (passphrase == null) { // get PendingIntent for passphrase input, add it to given params and return to client - Intent passphraseBundle = getPassphraseBundleIntent(data, accSettings.getKeyId()); - return passphraseBundle; + return getPassphraseBundleIntent(data, accSettings.getKeyId()); } // sign and encrypt @@ -358,9 +356,13 @@ public class OpenPgpService extends RemoteService { new ProviderHelper(this), new PgpDecryptVerify.PassphraseCache() { @Override - public String getCachedPassphrase(long masterKeyId) { - return PassphraseCacheService.getCachedPassphrase( - OpenPgpService.this, masterKeyId); + public String getCachedPassphrase(long masterKeyId) throws PgpDecryptVerify.NoSecretKeyException { + try { + return PassphraseCacheService.getCachedPassphrase( + OpenPgpService.this, masterKeyId); + } catch (PassphraseCacheService.KeyNotFoundException e) { + throw new PgpDecryptVerify.NoSecretKeyException(); + } } }, inputData, os |