aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2014-10-09 01:51:35 +0200
committerDominik Schürmann <dominik@dominikschuermann.de>2014-10-09 01:51:35 +0200
commit7646baf486527b174e3a1103411a6c7c13cc4d09 (patch)
treef2f3346a34792d871d4e40ec8a2d5955357b8f97 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java
parent45b02008fba52eaba833009c517afa697d2443f4 (diff)
downloadopen-keychain-7646baf486527b174e3a1103411a6c7c13cc4d09.tar.gz
open-keychain-7646baf486527b174e3a1103411a6c7c13cc4d09.tar.bz2
open-keychain-7646baf486527b174e3a1103411a6c7c13cc4d09.zip
Better handling if no api key is selected
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.java13
1 files changed, 10 insertions, 3 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 eb016529d..b78ab8a37 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java
@@ -410,9 +410,16 @@ public class OpenPgpService extends RemoteService {
if (sign) {
// Find the appropriate subkey to sign with
- CachedPublicKeyRing signingRing =
- new ProviderHelper(this).getCachedPublicKeyRing(accSettings.getKeyId());
- final long sigSubKeyId = signingRing.getSecretSignId();
+ long sigSubKeyId;
+ try {
+ CachedPublicKeyRing signingRing =
+ new ProviderHelper(this).getCachedPublicKeyRing(accSettings.getKeyId());
+ sigSubKeyId = signingRing.getSecretSignId();
+ } catch (PgpKeyNotFoundException e) {
+ // secret key that is set for this account is deleted?
+ // show account config again!
+ return getCreateAccountIntent(data, getAccountName(data));
+ }
String passphrase;
if (data.hasExtra(OpenPgpApi.EXTRA_PASSPHRASE)) {