diff options
Diffstat (limited to 'OpenPGP-Keychain/src/org/sufficientlysecure/keychain')
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(); } |