diff --git a/OpenPGP-Keychain/libs/sc-bzip2-1.47.0.2.jar b/OpenPGP-Keychain/libs/sc-bzip2-1.47.0.3-SNAPSHOT.jar similarity index 89% rename from OpenPGP-Keychain/libs/sc-bzip2-1.47.0.2.jar rename to OpenPGP-Keychain/libs/sc-bzip2-1.47.0.3-SNAPSHOT.jar index 3bc42f30e..7eca57732 100644 Binary files a/OpenPGP-Keychain/libs/sc-bzip2-1.47.0.2.jar and b/OpenPGP-Keychain/libs/sc-bzip2-1.47.0.3-SNAPSHOT.jar differ diff --git a/OpenPGP-Keychain/libs/sc-light-jdk15on-1.47.0.2.jar b/OpenPGP-Keychain/libs/sc-light-jdk15on-1.47.0.3-SNAPSHOT.jar similarity index 89% rename from OpenPGP-Keychain/libs/sc-light-jdk15on-1.47.0.2.jar rename to OpenPGP-Keychain/libs/sc-light-jdk15on-1.47.0.3-SNAPSHOT.jar index 7cdbf856e..cd745e171 100644 Binary files a/OpenPGP-Keychain/libs/sc-light-jdk15on-1.47.0.2.jar and b/OpenPGP-Keychain/libs/sc-light-jdk15on-1.47.0.3-SNAPSHOT.jar differ diff --git a/OpenPGP-Keychain/libs/scpg-jdk15on-1.47.0.2.jar b/OpenPGP-Keychain/libs/scpg-jdk15on-1.47.0.3-SNAPSHOT.jar similarity index 81% rename from OpenPGP-Keychain/libs/scpg-jdk15on-1.47.0.2.jar rename to OpenPGP-Keychain/libs/scpg-jdk15on-1.47.0.3-SNAPSHOT.jar index f290334d8..55c28d5b7 100644 Binary files a/OpenPGP-Keychain/libs/scpg-jdk15on-1.47.0.2.jar and b/OpenPGP-Keychain/libs/scpg-jdk15on-1.47.0.3-SNAPSHOT.jar differ diff --git a/OpenPGP-Keychain/libs/scprov-jdk15on-1.47.0.2.jar b/OpenPGP-Keychain/libs/scprov-jdk15on-1.47.0.3-SNAPSHOT.jar similarity index 85% rename from OpenPGP-Keychain/libs/scprov-jdk15on-1.47.0.2.jar rename to OpenPGP-Keychain/libs/scprov-jdk15on-1.47.0.3-SNAPSHOT.jar index 221a36b29..6f3433dca 100644 Binary files a/OpenPGP-Keychain/libs/scprov-jdk15on-1.47.0.2.jar and b/OpenPGP-Keychain/libs/scprov-jdk15on-1.47.0.3-SNAPSHOT.jar differ 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(); } diff --git a/README.md b/README.md index 5bdf080df..f4922a635 100644 --- a/README.md +++ b/README.md @@ -17,8 +17,8 @@ Fork OpenPGP Keychain and do a merge request. I will merge your changes back int ## Build with Eclipse -1. File -> Import -> Android -> Existing Android Code Into Workspace, choose "OpenPGP-Kechain/android-libs/ActionBarSherlock" -2. File -> Import -> Android -> Existing Android Code Into Workspace, choose "OpenPGP-Kechain" +1. File -> Import -> Android -> Existing Android Code Into Workspace, choose "OpenPGP-Keychain/android-libs/ActionBarSherlock" +2. File -> Import -> Android -> Existing Android Code Into Workspace, choose "OpenPGP-Keychain" 3. OpenPGP-Kechain can now be build # Libraries @@ -26,7 +26,7 @@ Fork OpenPGP Keychain and do a merge request. I will merge your changes back int All JAR-Libraries are provided in this repository under "libs", all Android Library projects are under "android-libs". * ActionBarSherlock to provide an ActionBar for Android < 3.0 -* Spongy Castle Crypto Lib (Android version of Bouncy Castle) +* forked Spongy Castle Crypto Lib (Android version of Bouncy Castle) * android-support-v4.jar: Compatibility Lib * barcodescanner-android-integration-supportv4.jar: Barcode Scanner Integration @@ -42,9 +42,12 @@ On error see: http://code.google.com/p/zxing/issues/detail?id=1207 ## Build Spongy Castle -Spongy Castle is the stock Bouncy Castle libraries with a couple of small changes to make it work on Android. +Spongy Castle is the stock Bouncy Castle libraries with a couple of small changes to make it work on Android. OpenPGP-Keychain uses a forked version with some small changes to improve key import speed. These changes will be sent to Bouncy Castle, and Spongy Castle will be used again when they have filtered down. + +see +* http://rtyley.github.com/spongycastle/ +* https://github.com/ashh87/spongycastle -see http://rtyley.github.com/spongycastle/ # Notes @@ -162,4 +165,5 @@ OpenPGP Kechain is licensed under Apache License v2. * dashboard_scan_qrcode.svg New creation for OpenPGP Kechain - Apache License v2 \ No newline at end of file + Apache License v2 +