diff options
author | Daniel Hammann <github@honnel.de> | 2014-03-22 15:31:18 +0100 |
---|---|---|
committer | Daniel Hammann <github@honnel.de> | 2014-03-22 15:31:18 +0100 |
commit | 4e285d9254f98381bd59a9a683d406ad1b6020d6 (patch) | |
tree | 38289671a2036836094fd92bd39a811ac827ae15 | |
parent | 1b57a10bb6a65a1900c79c68efe4c320177485da (diff) | |
download | open-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.java | 9 |
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); } |