diff options
author | Dominik Schürmann <dominik@dominikschuermann.de> | 2013-05-13 08:33:48 -0700 |
---|---|---|
committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2013-05-13 08:33:48 -0700 |
commit | 9744b569ab7eda549e01cff685aa1b1d171cc28e (patch) | |
tree | e11e793c132c654b859d4c56b54e15b57f09244d /OpenPGP-Keychain/src/org | |
parent | 30fa184e7e6a3bbd1a26c39ef5c3037dcbe3ea32 (diff) | |
parent | 723a89079ca96f4af537f2a5f2a8b73c2bbb5704 (diff) | |
download | open-keychain-9744b569ab7eda549e01cff685aa1b1d171cc28e.tar.gz open-keychain-9744b569ab7eda549e01cff685aa1b1d171cc28e.tar.bz2 open-keychain-9744b569ab7eda549e01cff685aa1b1d171cc28e.zip |
Merge pull request #51 from ashh87/master
Updates spongycastle to the fork:
https://github.com/ashh87/spongycastle
This allows us to import secret keys much more quickly and to enable passphrase changing for subkey only secret keys.
Diffstat (limited to 'OpenPGP-Keychain/src/org')
3 files changed, 4 insertions, 22 deletions
diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/helper/PgpHelper.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/helper/PgpHelper.java index 810f3a6f2..60450ffb8 100644 --- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/helper/PgpHelper.java +++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/helper/PgpHelper.java @@ -480,18 +480,7 @@ public class PgpHelper { } public static boolean isSecretKeyPrivateEmpty(PGPSecretKey secretKey) { - try { - PBESecretKeyDecryptor keyDecryptor = new JcePBESecretKeyDecryptorBuilder() - .setProvider(PgpMain.BOUNCY_CASTLE_PROVIDER_NAME).build(new char[] {}); - PGPPrivateKey testKey = secretKey.extractPrivateKey( - keyDecryptor); - if (testKey != null) { - return false; - } - } catch (PGPException e) { //exception if wrong key => not empty - return false; //all good if this fails, we likely didn't use the right password - } - return true; + return secretKey.isPrivateKeyEmpty(); } public static boolean isSecretKeyPrivateEmpty(Context context, long keyId) { diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/service/KeychainIntentService.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/service/KeychainIntentService.java index 48afdff5c..1d48278eb 100644 --- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/service/KeychainIntentService.java +++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/service/KeychainIntentService.java @@ -540,9 +540,9 @@ public class KeychainIntentService extends IntentService implements ProgressDial long masterKeyId = data.getLong(SAVE_KEYRING_MASTER_KEY_ID); /* Operation */ - if (!canSign) { //library fails, fix later - //PgpMain.changeSecretKeyPassphrase(this, ProviderHelper.getPGPSecretKeyRingByKeyId(this, masterKeyId), - //oldPassPhrase, newPassPhrase, this); + if (!canSign) { + PgpMain.changeSecretKeyPassphrase(this, ProviderHelper.getPGPSecretKeyRingByKeyId(this, masterKeyId), + oldPassPhrase, newPassPhrase, this); } else { PgpMain.buildSecretKey(this, userIds, keys, keysUsages, masterKeyId, oldPassPhrase, newPassPhrase, this); diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EditKeyActivity.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EditKeyActivity.java index 3d819a824..bc4467967 100644 --- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EditKeyActivity.java +++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EditKeyActivity.java @@ -194,13 +194,6 @@ public class EditKeyActivity extends SherlockFragmentActivity { } }); - //disable key passhphrase changing with empty private keys for no - //library fails, fix later - if (!masterCanSign) { - mChangePassPhrase.setEnabled(false); - mNoPassphrase.setEnabled(false); - } - if (mBuildLayout) { buildLayout(); } |