diff options
author | Ash Hughes <ashes-iontach@hotmail.com> | 2013-03-21 14:18:38 +0000 |
---|---|---|
committer | Ash Hughes <ashes-iontach@hotmail.com> | 2013-03-21 14:18:38 +0000 |
commit | cf34a1720e02ed7bf853e66bd4b451f791dac23b (patch) | |
tree | 9a8a2ed8c2a849c38fa6a73c022d425c742d198d /OpenPGP-Keychain/src/org/sufficientlysecure/keychain/helper/PgpMain.java | |
parent | 650b22d5e9512ede43b0c742799d49b061dda587 (diff) | |
download | open-keychain-cf34a1720e02ed7bf853e66bd4b451f791dac23b.tar.gz open-keychain-cf34a1720e02ed7bf853e66bd4b451f791dac23b.tar.bz2 open-keychain-cf34a1720e02ed7bf853e66bd4b451f791dac23b.zip |
change edit key for empty private master keys
Diffstat (limited to 'OpenPGP-Keychain/src/org/sufficientlysecure/keychain/helper/PgpMain.java')
-rw-r--r-- | OpenPGP-Keychain/src/org/sufficientlysecure/keychain/helper/PgpMain.java | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/helper/PgpMain.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/helper/PgpMain.java index f4b7c7bbd..27047cd0f 100644 --- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/helper/PgpMain.java +++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/helper/PgpMain.java @@ -309,6 +309,31 @@ public class PgpMain { return secKeyRing; } + public static void changeSecretKeyPassphrase(Context context, + PGPSecretKeyRing keyRing, String oldPassPhrase, String newPassPhrase, + ProgressDialogUpdater progress) throws IOException, PGPException, PGPException, + NoSuchProviderException { + + updateProgress(progress, R.string.progress_buildingKey, 0, 100); + if (oldPassPhrase == null) { + oldPassPhrase = ""; + } + if (newPassPhrase == null) { + newPassPhrase = ""; + } + + PGPSecretKeyRing newKeyRing = PGPSecretKeyRing.copyWithNewPassword(keyRing, + oldPassPhrase.toCharArray(), newPassPhrase.toCharArray(), keyRing.getSecretKey().getKeyEncryptionAlgorithm(), + new SecureRandom(), BOUNCY_CASTLE_PROVIDER_NAME); + + updateProgress(progress, R.string.progress_savingKeyRing, 50, 100); + + ProviderHelper.saveKeyRing(context, newKeyRing); + + updateProgress(progress, R.string.progress_done, 100, 100); + + } + public static void buildSecretKey(Context context, ArrayList<String> userIds, ArrayList<PGPSecretKey> keys, ArrayList<Integer> keysUsages, long masterKeyId, String oldPassPhrase, String newPassPhrase, ProgressDialogUpdater progress) |