mirror of
https://github.com/moparisthebest/open-keychain
synced 2024-12-17 21:02:17 -05:00
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.
This commit is contained in:
commit
9744b569ab
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -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) {
|
||||
|
@ -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);
|
||||
|
@ -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();
|
||||
}
|
||||
|
14
README.md
14
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
|
||||
|
||||
@ -163,3 +166,4 @@ OpenPGP Kechain is licensed under Apache License v2.
|
||||
* dashboard_scan_qrcode.svg
|
||||
New creation for OpenPGP Kechain
|
||||
Apache License v2
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user