diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/BenchmarkOperation.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/BenchmarkOperation.java index 9fed50b60..a73ccb15e 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/BenchmarkOperation.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/BenchmarkOperation.java @@ -41,7 +41,6 @@ import org.sufficientlysecure.keychain.operations.results.OperationResult.Operat import org.sufficientlysecure.keychain.operations.results.SignEncryptResult; import org.sufficientlysecure.keychain.pgp.PgpDecryptVerifyInputParcel; import org.sufficientlysecure.keychain.pgp.PgpDecryptVerifyOperation; -import org.sufficientlysecure.keychain.pgp.PgpSecurityConstants.OpenKeychainSymmetricKeyAlgorithmTags; import org.sufficientlysecure.keychain.pgp.PgpSignEncryptData; import org.sufficientlysecure.keychain.pgp.Progressable; import org.sufficientlysecure.keychain.pgp.SignEncryptParcel; @@ -85,7 +84,7 @@ public class BenchmarkOperation extends BaseOperation { new ProgressScaler(mProgressable, i*(50/numRepeats), (i+1)*(50/numRepeats), 100), mCancelled); PgpSignEncryptData.Builder data = PgpSignEncryptData.builder(); data.setSymmetricPassphrase(passphrase); - data.setSymmetricEncryptionAlgorithm(OpenKeychainSymmetricKeyAlgorithmTags.AES_128); + data.setSymmetricEncryptionAlgorithm(SymmetricKeyAlgorithmTags.AES_128); SignEncryptParcel input = SignEncryptParcel.createSignEncryptParcel(data.build(), buf); encryptResult = op.execute(input, CryptoInputParcel.createCryptoInputParcel()); log.add(encryptResult, 1); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyOperation.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyOperation.java index 99a7afcdb..f7f31f903 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyOperation.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpDecryptVerifyOperation.java @@ -361,10 +361,8 @@ public class PgpDecryptVerifyOperation extends BaseOperation getAllowedSigningKeyIds(); - public abstract int getCompressionAlgorithm(); @Nullable public abstract String getVersionHeader(); + public abstract int getCompressionAlgorithm(); + public abstract int getSignatureHashAlgorithm(); + public abstract int getSymmetricEncryptionAlgorithm(); + public abstract boolean isEnableAsciiArmorOutput(); public abstract boolean isCleartextSignature(); public abstract boolean isDetachedSignature(); @@ -61,16 +64,16 @@ public abstract class PgpSignEncryptData implements Parcelable { public static Builder builder() { return new AutoValue_PgpSignEncryptData.Builder() - .setCompressionAlgorithm(CompressionAlgorithmTags.UNCOMPRESSED) - .setSymmetricEncryptionAlgorithm(PgpSecurityConstants.DEFAULT_SYMMETRIC_ALGORITHM) .setSignatureMasterKeyId(Constants.key.none) - .setSignatureHashAlgorithm(PgpSecurityConstants.DEFAULT_HASH_ALGORITHM) .setAdditionalEncryptId(Constants.key.none) .setEnableAsciiArmorOutput(false) .setCleartextSignature(false) .setDetachedSignature(false) .setAddBackupHeader(false) - .setHiddenRecipients(false); + .setHiddenRecipients(false) + .setCompressionAlgorithm(OpenKeychainCompressionAlgorithmTags.USE_DEFAULT) + .setSignatureHashAlgorithm(OpenKeychainHashAlgorithmTags.USE_DEFAULT) + .setSymmetricEncryptionAlgorithm(OpenKeychainSymmetricKeyAlgorithmTags.USE_DEFAULT); } @AutoValue.Builder @@ -79,15 +82,16 @@ public abstract class PgpSignEncryptData implements Parcelable { public abstract Builder setCharset(String charset); public abstract Builder setAdditionalEncryptId(long additionalEncryptId); - public abstract Builder setSignatureHashAlgorithm(int signatureHashAlgorithm); public abstract Builder setSignatureSubKeyId(Long signatureSubKeyId); public abstract Builder setSignatureMasterKeyId(long signatureMasterKeyId); - public abstract Builder setSymmetricEncryptionAlgorithm(int symmetricEncryptionAlgorithm); public abstract Builder setSymmetricPassphrase(Passphrase symmetricPassphrase); public abstract Builder setEncryptionMasterKeyIds(long[] encryptionMasterKeyIds); - public abstract Builder setCompressionAlgorithm(int compressionAlgorithm); public abstract Builder setVersionHeader(String versionHeader); + public abstract Builder setCompressionAlgorithm(int compressionAlgorithm); + public abstract Builder setSignatureHashAlgorithm(int signatureHashAlgorithm); + public abstract Builder setSymmetricEncryptionAlgorithm(int symmetricEncryptionAlgorithm); + public abstract Builder setAddBackupHeader(boolean isAddBackupHeader); public abstract Builder setEnableAsciiArmorOutput(boolean enableAsciiArmorOutput); public abstract Builder setCleartextSignature(boolean isCleartextSignature); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncryptOperation.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncryptOperation.java index 9a7071388..52f5710a0 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncryptOperation.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncryptOperation.java @@ -61,6 +61,9 @@ import org.sufficientlysecure.keychain.operations.results.OperationResult.LogTyp import org.sufficientlysecure.keychain.operations.results.OperationResult.OperationLog; import org.sufficientlysecure.keychain.operations.results.PgpSignEncryptResult; import org.sufficientlysecure.keychain.operations.results.SignEncryptResult; +import org.sufficientlysecure.keychain.pgp.PgpSecurityConstants.OpenKeychainCompressionAlgorithmTags; +import org.sufficientlysecure.keychain.pgp.PgpSecurityConstants.OpenKeychainHashAlgorithmTags; +import org.sufficientlysecure.keychain.pgp.PgpSecurityConstants.OpenKeychainSymmetricKeyAlgorithmTags; import org.sufficientlysecure.keychain.pgp.exception.PgpGeneralException; import org.sufficientlysecure.keychain.provider.KeyRepository; import org.sufficientlysecure.keychain.provider.KeyWritableRepository; @@ -178,13 +181,13 @@ public class PgpSignEncryptOperation extends BaseOperation 0) || data.getSymmetricPassphrase() != null); - boolean enableCompression = (data.getCompressionAlgorithm() != CompressionAlgorithmTags.UNCOMPRESSED); - Log.d(Constants.TAG, "enableSignature:" + enableSignature - + "\nenableEncryption:" + enableEncryption - + "\nenableCompression:" + enableCompression - + "\nenableAsciiArmorOutput:" + data.isEnableAsciiArmorOutput() - + "\nisHiddenRecipients:" + data.isHiddenRecipients()); + int compressionAlgorithm = data.getCompressionAlgorithm(); + if (compressionAlgorithm == OpenKeychainCompressionAlgorithmTags.USE_DEFAULT) { + compressionAlgorithm = PgpSecurityConstants.DEFAULT_COMPRESSION_ALGORITHM; + } + + Log.d(Constants.TAG, data.toString()); ArmoredOutputStream armorOut = null; OutputStream out; @@ -299,12 +302,12 @@ public class PgpSignEncryptOperation extends BaseOperation