aboutsummaryrefslogtreecommitdiffstats
path: root/OpenPGP-Keychain/src/org
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2013-05-13 08:33:48 -0700
committerDominik Schürmann <dominik@dominikschuermann.de>2013-05-13 08:33:48 -0700
commit9744b569ab7eda549e01cff685aa1b1d171cc28e (patch)
treee11e793c132c654b859d4c56b54e15b57f09244d /OpenPGP-Keychain/src/org
parent30fa184e7e6a3bbd1a26c39ef5c3037dcbe3ea32 (diff)
parent723a89079ca96f4af537f2a5f2a8b73c2bbb5704 (diff)
downloadopen-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')
-rw-r--r--OpenPGP-Keychain/src/org/sufficientlysecure/keychain/helper/PgpHelper.java13
-rw-r--r--OpenPGP-Keychain/src/org/sufficientlysecure/keychain/service/KeychainIntentService.java6
-rw-r--r--OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/EditKeyActivity.java7
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();
}