aboutsummaryrefslogtreecommitdiffstats
path: root/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2014-04-01 14:10:32 +0200
committerDominik Schürmann <dominik@dominikschuermann.de>2014-04-01 14:10:32 +0200
commitc859bbb6da295afe16bf02e0d8d73f36e99c546a (patch)
tree6d07b6f21639f93e0fb84dd770166ead39b92858 /OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java
parentb020f950e149368bd1d6413b2644b4c0e6f4bf31 (diff)
downloadopen-keychain-c859bbb6da295afe16bf02e0d8d73f36e99c546a.tar.gz
open-keychain-c859bbb6da295afe16bf02e0d8d73f36e99c546a.tar.bz2
open-keychain-c859bbb6da295afe16bf02e0d8d73f36e99c546a.zip
Fix symmetric encryption and cleanup
Diffstat (limited to 'OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java')
-rw-r--r--OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java20
1 files changed, 11 insertions, 9 deletions
diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java
index 737e9c75d..6d80c154b 100644
--- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java
+++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncrypt.java
@@ -18,6 +18,7 @@
package org.sufficientlysecure.keychain.pgp;
import android.content.Context;
+
import org.spongycastle.bcpg.ArmoredOutputStream;
import org.spongycastle.bcpg.BCPGOutputStream;
import org.spongycastle.openpgp.*;
@@ -50,7 +51,7 @@ public class PgpSignEncrypt {
private boolean mEnableAsciiArmorOutput;
private int mCompressionId;
private long[] mEncryptionKeyIds;
- private String mEncryptionPassphrase;
+ private String mSymmetricPassphrase;
private int mSymmetricEncryptionAlgorithm;
private long mSignatureKeyId;
private int mSignatureHashAlgorithm;
@@ -67,7 +68,7 @@ public class PgpSignEncrypt {
this.mEnableAsciiArmorOutput = builder.mEnableAsciiArmorOutput;
this.mCompressionId = builder.mCompressionId;
this.mEncryptionKeyIds = builder.mEncryptionKeyIds;
- this.mEncryptionPassphrase = builder.mEncryptionPassphrase;
+ this.mSymmetricPassphrase = builder.mSymmetricPassphrase;
this.mSymmetricEncryptionAlgorithm = builder.mSymmetricEncryptionAlgorithm;
this.mSignatureKeyId = builder.mSignatureKeyId;
this.mSignatureHashAlgorithm = builder.mSignatureHashAlgorithm;
@@ -85,8 +86,8 @@ public class PgpSignEncrypt {
private ProgressDialogUpdater mProgress = null;
private boolean mEnableAsciiArmorOutput = false;
private int mCompressionId = Id.choice.compression.none;
- private long[] mEncryptionKeyIds = new long[0];
- private String mEncryptionPassphrase = null;
+ private long[] mEncryptionKeyIds = null;
+ private String mSymmetricPassphrase = null;
private int mSymmetricEncryptionAlgorithm = 0;
private long mSignatureKeyId = Id.key.none;
private int mSignatureHashAlgorithm = 0;
@@ -119,8 +120,8 @@ public class PgpSignEncrypt {
return this;
}
- public Builder encryptionPassphrase(String encryptionPassphrase) {
- this.mEncryptionPassphrase = encryptionPassphrase;
+ public Builder symmetricPassphrase(String symmetricPassphrase) {
+ this.mSymmetricPassphrase = symmetricPassphrase;
return this;
}
@@ -181,7 +182,8 @@ public class PgpSignEncrypt {
NoSuchAlgorithmException, SignatureException {
boolean enableSignature = mSignatureKeyId != Id.key.none;
- boolean enableEncryption = (mEncryptionKeyIds.length != 0 || mEncryptionPassphrase != null);
+ boolean enableEncryption = ((mEncryptionKeyIds != null && mEncryptionKeyIds.length > 0)
+ || mSymmetricPassphrase != null);
boolean enableCompression = (enableEncryption && mCompressionId != Id.choice.compression.none);
Log.d(Constants.TAG, "enableSignature:" + enableSignature
@@ -246,12 +248,12 @@ public class PgpSignEncrypt {
cPk = new PGPEncryptedDataGenerator(encryptorBuilder);
- if (mEncryptionKeyIds.length == 0) {
+ if (mSymmetricPassphrase != null) {
// Symmetric encryption
Log.d(Constants.TAG, "encryptionKeyIds length is 0 -> symmetric encryption");
JcePBEKeyEncryptionMethodGenerator symmetricEncryptionGenerator =
- new JcePBEKeyEncryptionMethodGenerator(mEncryptionPassphrase.toCharArray());
+ new JcePBEKeyEncryptionMethodGenerator(mSymmetricPassphrase.toCharArray());
cPk.addMethod(symmetricEncryptionGenerator);
} else {
// Asymmetric encryption