aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Hammann <github@honnel.de>2014-03-22 15:31:18 +0100
committerDaniel Hammann <github@honnel.de>2014-03-22 15:31:18 +0100
commit4e285d9254f98381bd59a9a683d406ad1b6020d6 (patch)
tree38289671a2036836094fd92bd39a811ac827ae15
parent1b57a10bb6a65a1900c79c68efe4c320177485da (diff)
downloadopen-keychain-4e285d9254f98381bd59a9a683d406ad1b6020d6.tar.gz
open-keychain-4e285d9254f98381bd59a9a683d406ad1b6020d6.tar.bz2
open-keychain-4e285d9254f98381bd59a9a683d406ad1b6020d6.zip
The current implementation of saving new generated key doesn't save the key due to the public key of master key id can not be resolved by ProviderHelper.getPGPPublicKeyByKeyId (via URI/Cursor). Workaround uses local keys-arraylist for resoving the pubkey of master key id.
-rw-r--r--OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java
index 0751fa33c..5ef41cced 100644
--- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java
+++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java
@@ -543,7 +543,14 @@ public class KeychainIntentService extends IntentService
ProviderHelper.getPGPSecretKeyRingByKeyId(this, masterKeyId),
oldPassPhrase, newPassPhrase);
} else {
- PGPPublicKey pubkey = ProviderHelper.getPGPPublicKeyByKeyId(this, masterKeyId);
+ PGPPublicKey pubkey = null;
+ for(PGPSecretKey key : keys) {
+ PGPPublicKey tempKey = key.getPublicKey();
+ if (tempKey.getKeyID() == masterKeyId) {
+ pubkey = tempKey;
+ }
+ }
+ //PGPPublicKey pubkey = ProviderHelper.getPGPPublicKeyByKeyId(this, masterKeyId);
keyOperations.buildSecretKey(userIds, keys, keysUsages, keysExpiryDates,
pubkey, oldPassPhrase, newPassPhrase);
}