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 a73ccb15e..3d6a46a14 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/BenchmarkOperation.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/BenchmarkOperation.java @@ -103,9 +103,10 @@ public class BenchmarkOperation extends BaseOperation { PgpDecryptVerifyOperation op = new PgpDecryptVerifyOperation(mContext, mKeyRepository, new ProgressScaler(mProgressable, 50 +i*(50/numRepeats), 50 +(i+1)*(50/numRepeats), 100)); - PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(encryptResult.getResultBytes()); - input.setAllowSymmetricDecryption(true); - decryptResult = op.execute(input, CryptoInputParcel.createCryptoInputParcel(passphrase)); + PgpDecryptVerifyInputParcel.Builder builder = PgpDecryptVerifyInputParcel.builder() + .setInputBytes(encryptResult.getResultBytes()) + .setAllowSymmetricDecryption(true); + decryptResult = op.execute(builder.build(), CryptoInputParcel.createCryptoInputParcel(passphrase)); log.add(decryptResult, 1); log.add(LogType.MSG_BENCH_DEC_TIME, 2, String.format("%.2f", decryptResult.mOperationTime / 1000.0)); totalTime += decryptResult.mOperationTime; diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/InputDataOperation.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/InputDataOperation.java index 3ad764b74..93fd3e796 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/InputDataOperation.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/InputDataOperation.java @@ -103,10 +103,12 @@ public class InputDataOperation extends BaseOperation { PgpDecryptVerifyOperation op = new PgpDecryptVerifyOperation(mContext, mKeyRepository, mProgressable); - decryptInput.setInputUri(input.getInputUri()); - currentInputUri = TemporaryFileProvider.createFile(mContext); - decryptInput.setOutputUri(currentInputUri); + + decryptInput = decryptInput.toBuilder() + .setInputUri(input.getInputUri()) + .setOutputUri(currentInputUri) + .build(); decryptResult = op.execute(decryptInput, cryptoInput); if (decryptResult.isPending()) { @@ -264,9 +266,10 @@ public class InputDataOperation extends BaseOperation { } detachedSig.close(); - PgpDecryptVerifyInputParcel decryptInput = new PgpDecryptVerifyInputParcel(); - decryptInput.setInputUri(uncheckedSignedDataUri); - decryptInput.setDetachedSignature(detachedSig.toByteArray()); + PgpDecryptVerifyInputParcel decryptInput = PgpDecryptVerifyInputParcel.builder() + .setInputUri(uncheckedSignedDataUri) + .setDetachedSignature(detachedSig.toByteArray()) + .build(); PgpDecryptVerifyOperation op = new PgpDecryptVerifyOperation(mContext, mKeyRepository, mProgressable); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/KeybaseVerificationOperation.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/KeybaseVerificationOperation.java index 89c48ad1b..c7d527eab 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/KeybaseVerificationOperation.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/KeybaseVerificationOperation.java @@ -152,7 +152,9 @@ public class KeybaseVerificationOperation extends BaseOperation mAllowedKeyIds; - private boolean mDecryptMetadataOnly; - private byte[] mDetachedSignature; - private String mRequiredSignerFingerprint; - private String mSenderAddress; +@AutoValue +public abstract class PgpDecryptVerifyInputParcel implements Parcelable { + @Nullable + @SuppressWarnings("mutable") + abstract byte[] getInputBytes(); - public PgpDecryptVerifyInputParcel() { + @Nullable + abstract Uri getInputUri(); + @Nullable + abstract Uri getOutputUri(); + + abstract boolean isAllowSymmetricDecryption(); + abstract boolean isDecryptMetadataOnly(); + + @Nullable + abstract List getAllowedKeyIds(); + @Nullable + @SuppressWarnings("mutable") + abstract byte[] getDetachedSignature(); + @Nullable + abstract String getSenderAddress(); + + public abstract Builder toBuilder(); + + public static Builder builder() { + return new AutoValue_PgpDecryptVerifyInputParcel.Builder() + .setAllowSymmetricDecryption(false) + .setDecryptMetadataOnly(false); } - public PgpDecryptVerifyInputParcel(Uri inputUri, Uri outputUri) { - mInputUri = inputUri; - mOutputUri = outputUri; - } + @AutoValue.Builder + public abstract static class Builder { + public abstract Builder setInputBytes(byte[] inputBytes); + public abstract Builder setInputUri(Uri inputUri); + public abstract Builder setOutputUri(Uri outputUri); - public PgpDecryptVerifyInputParcel(byte[] inputBytes) { - mInputBytes = inputBytes; - } + public abstract Builder setAllowSymmetricDecryption(boolean allowSymmetricDecryption); + public abstract Builder setDecryptMetadataOnly(boolean decryptMetadataOnly); + public abstract Builder setDetachedSignature(byte[] detachedSignature); + public abstract Builder setSenderAddress(String senderAddress); - PgpDecryptVerifyInputParcel(Parcel source) { - // we do all of those here, so the PgpSignEncryptInput class doesn't have to be parcelable - mInputUri = source.readParcelable(getClass().getClassLoader()); - mOutputUri = source.readParcelable(getClass().getClassLoader()); - mInputBytes = source.createByteArray(); + public abstract Builder setAllowedKeyIds(List allowedKeyIds); + abstract List getAllowedKeyIds(); - mAllowSymmetricDecryption = source.readInt() != 0; - mAllowedKeyIds = (HashSet) source.readSerializable(); - mDecryptMetadataOnly = source.readInt() != 0; - mDetachedSignature = source.createByteArray(); - mRequiredSignerFingerprint = source.readString(); - } - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeParcelable(mInputUri, 0); - dest.writeParcelable(mOutputUri, 0); - dest.writeByteArray(mInputBytes); - - dest.writeInt(mAllowSymmetricDecryption ? 1 : 0); - dest.writeSerializable(mAllowedKeyIds); - dest.writeInt(mDecryptMetadataOnly ? 1 : 0); - dest.writeByteArray(mDetachedSignature); - dest.writeString(mRequiredSignerFingerprint); - } - - byte[] getInputBytes() { - return mInputBytes; - } - - public PgpDecryptVerifyInputParcel setInputUri(Uri uri) { - mInputUri = uri; - return this; - } - - Uri getInputUri() { - return mInputUri; - } - - public PgpDecryptVerifyInputParcel setOutputUri(Uri uri) { - mOutputUri = uri; - return this; - } - - Uri getOutputUri() { - return mOutputUri; - } - - boolean isAllowSymmetricDecryption() { - return mAllowSymmetricDecryption; - } - - public PgpDecryptVerifyInputParcel setAllowSymmetricDecryption(boolean allowSymmetricDecryption) { - mAllowSymmetricDecryption = allowSymmetricDecryption; - return this; - } - - HashSet getAllowedKeyIds() { - return mAllowedKeyIds; - } - - public PgpDecryptVerifyInputParcel setAllowedKeyIds(HashSet allowedKeyIds) { - mAllowedKeyIds = allowedKeyIds; - return this; - } - - boolean isDecryptMetadataOnly() { - return mDecryptMetadataOnly; - } - - public PgpDecryptVerifyInputParcel setDecryptMetadataOnly(boolean decryptMetadataOnly) { - mDecryptMetadataOnly = decryptMetadataOnly; - return this; - } - - byte[] getDetachedSignature() { - return mDetachedSignature; - } - - public PgpDecryptVerifyInputParcel setDetachedSignature(byte[] detachedSignature) { - mDetachedSignature = detachedSignature; - return this; - } - - public PgpDecryptVerifyInputParcel setSenderAddress(String senderAddress) { - mSenderAddress = senderAddress; - return this; - } - - public String getSenderAddress() { - return mSenderAddress; - } - - String getRequiredSignerFingerprint() { - return mRequiredSignerFingerprint; - } - - public PgpDecryptVerifyInputParcel setRequiredSignerFingerprint(String requiredSignerFingerprint) { - mRequiredSignerFingerprint = requiredSignerFingerprint; - return this; - } - - public static final Creator CREATOR = new Creator() { - public PgpDecryptVerifyInputParcel createFromParcel(final Parcel source) { - return new PgpDecryptVerifyInputParcel(source); + abstract PgpDecryptVerifyInputParcel autoBuild(); + public PgpDecryptVerifyInputParcel build() { + List allowedKeyIds = getAllowedKeyIds(); + if (allowedKeyIds != null) { + setAllowedKeyIds(Collections.unmodifiableList(allowedKeyIds)); + } + return autoBuild(); } - - public PgpDecryptVerifyInputParcel[] newArray(final int size) { - return new PgpDecryptVerifyInputParcel[size]; - } - }; + } } - diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java index 444214932..42d0b1490 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java @@ -22,6 +22,7 @@ package org.sufficientlysecure.keychain.remote; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Date; @@ -367,12 +368,13 @@ public class OpenPgpService extends Service { // allow only private keys associated with accounts of this app // no support for symmetric encryption - PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel() + PgpDecryptVerifyInputParcel input = PgpDecryptVerifyInputParcel.builder() .setAllowSymmetricDecryption(false) - .setAllowedKeyIds(getAllowedKeyIds()) + .setAllowedKeyIds(new ArrayList<>(getAllowedKeyIds())) .setDecryptMetadataOnly(decryptMetadataOnly) .setDetachedSignature(detachedSignature) - .setSenderAddress(senderAddress); + .setSenderAddress(senderAddress) + .build(); DecryptVerifyResult pgpResult = op.execute(input, cryptoInput, inputData, outputStream); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptListFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptListFragment.java index f2fc4d0e5..84b49ca3f 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptListFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptListFragment.java @@ -637,9 +637,9 @@ public class DecryptListFragment return null; } - PgpDecryptVerifyInputParcel decryptInput = new PgpDecryptVerifyInputParcel() + PgpDecryptVerifyInputParcel.Builder decryptInput = PgpDecryptVerifyInputParcel.builder() .setAllowSymmetricDecryption(true); - return InputDataParcel.createInputDataParcel(mCurrentInputUri, decryptInput); + return InputDataParcel.createInputDataParcel(mCurrentInputUri, decryptInput.build()); } diff --git a/OpenKeychain/src/test/java/org/sufficientlysecure/keychain/operations/BackupOperationTest.java b/OpenKeychain/src/test/java/org/sufficientlysecure/keychain/operations/BackupOperationTest.java index a0a4ab61e..8d926be3d 100644 --- a/OpenKeychain/src/test/java/org/sufficientlysecure/keychain/operations/BackupOperationTest.java +++ b/OpenKeychain/src/test/java/org/sufficientlysecure/keychain/operations/BackupOperationTest.java @@ -327,8 +327,10 @@ public class BackupOperationTest { PgpDecryptVerifyOperation op = new PgpDecryptVerifyOperation(RuntimeEnvironment.application, KeyWritableRepository.createDatabaseReadWriteInteractor(RuntimeEnvironment.application), null); - PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(outStream.toByteArray()); - input.setAllowSymmetricDecryption(true); + PgpDecryptVerifyInputParcel input = PgpDecryptVerifyInputParcel.builder() + .setAllowSymmetricDecryption(true) + .setInputBytes(outStream.toByteArray()) + .build(); { DecryptVerifyResult result = op.execute(input, CryptoInputParcel.createCryptoInputParcel()); diff --git a/OpenKeychain/src/test/java/org/sufficientlysecure/keychain/pgp/PgpEncryptDecryptTest.java b/OpenKeychain/src/test/java/org/sufficientlysecure/keychain/pgp/PgpEncryptDecryptTest.java index ee72582e9..85559cc4e 100644 --- a/OpenKeychain/src/test/java/org/sufficientlysecure/keychain/pgp/PgpEncryptDecryptTest.java +++ b/OpenKeychain/src/test/java/org/sufficientlysecure/keychain/pgp/PgpEncryptDecryptTest.java @@ -25,7 +25,6 @@ import java.io.PrintStream; import java.security.Security; import java.util.ArrayList; import java.util.Date; -import java.util.HashSet; import java.util.Iterator; import org.apache.tools.ant.util.StringUtils; @@ -199,8 +198,9 @@ public class PgpEncryptDecryptTest { PgpDecryptVerifyOperation op = new PgpDecryptVerifyOperation(RuntimeEnvironment.application, KeyWritableRepository.createDatabaseReadWriteInteractor(RuntimeEnvironment.application), null); - PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(); - input.setAllowSymmetricDecryption(true); + PgpDecryptVerifyInputParcel input = PgpDecryptVerifyInputParcel.builder() + .setAllowSymmetricDecryption(true) + .build(); DecryptVerifyResult result = op.execute( input, CryptoInputParcel.createCryptoInputParcel(mSymmetricPassphrase), data, out); @@ -229,8 +229,9 @@ public class PgpEncryptDecryptTest { PgpDecryptVerifyOperation op = new PgpDecryptVerifyOperation(RuntimeEnvironment.application, KeyWritableRepository.createDatabaseReadWriteInteractor(RuntimeEnvironment.application), null); - PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(); - input.setAllowSymmetricDecryption(true); + PgpDecryptVerifyInputParcel input = PgpDecryptVerifyInputParcel.builder() + .setAllowSymmetricDecryption(true) + .build(); DecryptVerifyResult result = op.execute(input, CryptoInputParcel.createCryptoInputParcel(new Passphrase(new String(mSymmetricPassphrase.getCharArray()) + "x")), data, out); @@ -251,8 +252,9 @@ public class PgpEncryptDecryptTest { PgpDecryptVerifyOperation op = new PgpDecryptVerifyOperation(RuntimeEnvironment.application, KeyWritableRepository.createDatabaseReadWriteInteractor(RuntimeEnvironment.application), null); - PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(); - input.setAllowSymmetricDecryption(true); + PgpDecryptVerifyInputParcel input = PgpDecryptVerifyInputParcel.builder() + .setAllowSymmetricDecryption(true) + .build(); DecryptVerifyResult result = op.execute(input, CryptoInputParcel.createCryptoInputParcel(), data, out); @@ -272,8 +274,7 @@ public class PgpEncryptDecryptTest { PgpDecryptVerifyOperation op = new PgpDecryptVerifyOperation(RuntimeEnvironment.application, KeyWritableRepository.createDatabaseReadWriteInteractor(RuntimeEnvironment.application), null); - PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(); - input.setAllowSymmetricDecryption(false); + PgpDecryptVerifyInputParcel input = PgpDecryptVerifyInputParcel.builder().build(); DecryptVerifyResult result = op.execute(input, CryptoInputParcel.createCryptoInputParcel(), data, out); @@ -323,7 +324,7 @@ public class PgpEncryptDecryptTest { InputData data = new InputData(in, in.available()); PgpDecryptVerifyOperation op = operationWithFakePassphraseCache(null, null, null); - PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(); + PgpDecryptVerifyInputParcel input = PgpDecryptVerifyInputParcel.builder().build(); DecryptVerifyResult result = op.execute(input, CryptoInputParcel.createCryptoInputParcel(), data, out); Assert.assertTrue("verification must succeed", result.success()); @@ -382,7 +383,7 @@ public class PgpEncryptDecryptTest { InputData data = new InputData(in, in.available()); PgpDecryptVerifyOperation op = operationWithFakePassphraseCache(null, null, null); - PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(); + PgpDecryptVerifyInputParcel input = PgpDecryptVerifyInputParcel.builder().build(); DecryptVerifyResult result = op.execute(input, CryptoInputParcel.createCryptoInputParcel(), data, out); Assert.assertTrue("verification must succeed", result.success()); @@ -438,8 +439,9 @@ public class PgpEncryptDecryptTest { InputData data = new InputData(in, in.available()); PgpDecryptVerifyOperation op = operationWithFakePassphraseCache(null, null, null); - PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(); - input.setDetachedSignature(detachedSignature); + PgpDecryptVerifyInputParcel input = PgpDecryptVerifyInputParcel.builder() + .setDetachedSignature(detachedSignature) + .build(); DecryptVerifyResult result = op.execute(input, CryptoInputParcel.createCryptoInputParcel(), data, out); Assert.assertTrue("verification must succeed", result.success()); @@ -494,7 +496,7 @@ public class PgpEncryptDecryptTest { InputData data = new InputData(in, in.available()); PgpDecryptVerifyOperation op = operationWithFakePassphraseCache(null, null, null); - PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(); + PgpDecryptVerifyInputParcel input = PgpDecryptVerifyInputParcel.builder().build(); DecryptVerifyResult result = op.execute(input, CryptoInputParcel.createCryptoInputParcel(mKeyPhrase1), data, out); Assert.assertTrue("decryption with provided passphrase must succeed", result.success()); @@ -523,7 +525,7 @@ public class PgpEncryptDecryptTest { PgpDecryptVerifyOperation op = operationWithFakePassphraseCache( mKeyPhrase1, mStaticRing1.getMasterKeyId(), null); - PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(); + PgpDecryptVerifyInputParcel input = PgpDecryptVerifyInputParcel.builder().build(); DecryptVerifyResult result = op.execute(input, CryptoInputParcel.createCryptoInputParcel(), data, out); CryptoInputParcel cryptoInput = result.getCachedCryptoInputParcel(); @@ -547,7 +549,7 @@ public class PgpEncryptDecryptTest { PgpDecryptVerifyOperation op = operationWithFakePassphraseCache( null, mStaticRing1.getMasterKeyId(), null); - PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(); + PgpDecryptVerifyInputParcel input = PgpDecryptVerifyInputParcel.builder().build(); DecryptVerifyResult result = op.execute(input, CryptoInputParcel.createCryptoInputParcel(), data, out); Assert.assertFalse("decryption with no passphrase must return pending", result.success()); @@ -628,7 +630,9 @@ public class PgpEncryptDecryptTest { PgpDecryptVerifyOperation op = new PgpDecryptVerifyOperation(RuntimeEnvironment.application, KeyWritableRepository.createDatabaseReadWriteInteractor(RuntimeEnvironment.application), null); - PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(ciphertext); + PgpDecryptVerifyInputParcel input = PgpDecryptVerifyInputParcel.builder() + .setInputBytes(ciphertext) + .build(); DecryptVerifyResult result = op.execute(input, CryptoInputParcel.createCryptoInputParcel(mKeyPhrase1)); Assert.assertTrue("decryption must succeed", result.success()); @@ -651,7 +655,9 @@ public class PgpEncryptDecryptTest { PgpDecryptVerifyOperation op = new PgpDecryptVerifyOperation(RuntimeEnvironment.application, KeyWritableRepository.createDatabaseReadWriteInteractor(RuntimeEnvironment.application), null); - PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(ciphertext); + PgpDecryptVerifyInputParcel input = PgpDecryptVerifyInputParcel.builder() + .setInputBytes(ciphertext) + .build(); DecryptVerifyResult result = op.execute(input, CryptoInputParcel.createCryptoInputParcel(mKeyPhrase1)); Assert.assertTrue("decryption must succeed", result.success()); @@ -757,7 +763,7 @@ public class PgpEncryptDecryptTest { PgpDecryptVerifyOperation op = operationWithFakePassphraseCache( mKeyPhrase1, mStaticRing1.getMasterKeyId(), null); - PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(); + PgpDecryptVerifyInputParcel input = PgpDecryptVerifyInputParcel.builder().build(); DecryptVerifyResult result = op.execute(input, CryptoInputParcel.createCryptoInputParcel(), data, out); Assert.assertTrue("decryption with cached passphrase must succeed for the first key", result.success()); @@ -780,14 +786,15 @@ public class PgpEncryptDecryptTest { InputData data = new InputData(in, in.available()); // allow only the second to decrypt - HashSet allowed = new HashSet<>(); + ArrayList allowed = new ArrayList<>(); allowed.add(mStaticRing2.getMasterKeyId()); // provide passphrase for the second, and check that the first is never asked for! PgpDecryptVerifyOperation op = operationWithFakePassphraseCache( mKeyPhrase2, mStaticRing2.getMasterKeyId(), null); - PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(); - input.setAllowedKeyIds(allowed); + PgpDecryptVerifyInputParcel input = PgpDecryptVerifyInputParcel.builder() + .setAllowedKeyIds(allowed) + .build(); DecryptVerifyResult result = op.execute(input, CryptoInputParcel.createCryptoInputParcel(), data, out); Assert.assertTrue("decryption with cached passphrase must succeed for allowed key", result.success()); @@ -809,8 +816,9 @@ public class PgpEncryptDecryptTest { // provide passphrase for the second, and check that the first is never asked for! PgpDecryptVerifyOperation op = operationWithFakePassphraseCache( mKeyPhrase2, mStaticRing2.getMasterKeyId(), null); - PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(); - input.setAllowedKeyIds(new HashSet()); + PgpDecryptVerifyInputParcel input = PgpDecryptVerifyInputParcel.builder() + .setAllowedKeyIds(new ArrayList()) + .build(); DecryptVerifyResult result = op.execute(input, CryptoInputParcel.createCryptoInputParcel(), data, out); Assert.assertFalse("decryption must fail if no key allowed", result.success()); @@ -832,7 +840,7 @@ public class PgpEncryptDecryptTest { PgpDecryptVerifyOperation op = operationWithFakePassphraseCache( mKeyPhrase2, mStaticRing2.getMasterKeyId(), null); - PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(); + PgpDecryptVerifyInputParcel input = PgpDecryptVerifyInputParcel.builder().build(); DecryptVerifyResult result = op.execute(input, CryptoInputParcel.createCryptoInputParcel(), data, out); Assert.assertTrue("decryption with cached passphrase must succeed", result.success()); @@ -886,7 +894,7 @@ public class PgpEncryptDecryptTest { PgpDecryptVerifyOperation op = operationWithFakePassphraseCache( mKeyPhrase1, mStaticRing1.getMasterKeyId(), null); - PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(); + PgpDecryptVerifyInputParcel input = PgpDecryptVerifyInputParcel.builder().build(); DecryptVerifyResult result = op.execute(input, CryptoInputParcel.createCryptoInputParcel(), data, out); Assert.assertTrue("decryption with cached passphrase must succeed for the first key", result.success()); @@ -913,7 +921,7 @@ public class PgpEncryptDecryptTest { PgpDecryptVerifyOperation op = operationWithFakePassphraseCache( mKeyPhrase2, mStaticRing2.getMasterKeyId(), null); - PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(); + PgpDecryptVerifyInputParcel input = PgpDecryptVerifyInputParcel.builder().build(); DecryptVerifyResult result = op.execute(input, CryptoInputParcel.createCryptoInputParcel(), data, out); Assert.assertTrue("decryption with cached passphrase must succeed", result.success()); @@ -968,7 +976,7 @@ public class PgpEncryptDecryptTest { InputData data = new InputData(in, in.available()); PgpDecryptVerifyOperation op = operationWithFakePassphraseCache(null, null, null); - PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(); + PgpDecryptVerifyInputParcel input = PgpDecryptVerifyInputParcel.builder().build(); DecryptVerifyResult result = op.execute(input, CryptoInputParcel.createCryptoInputParcel(mKeyPhrase1), data, out); Assert.assertTrue("decryption with provided passphrase must succeed", result.success()); @@ -996,7 +1004,7 @@ public class PgpEncryptDecryptTest { InputData data = new InputData(in, in.available()); PgpDecryptVerifyOperation op = operationWithFakePassphraseCache(null, null, null); - PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(); + PgpDecryptVerifyInputParcel input = PgpDecryptVerifyInputParcel.builder().build(); DecryptVerifyResult result = op.execute(input, CryptoInputParcel.createCryptoInputParcel(mKeyPhrase1), data, out); @@ -1019,7 +1027,7 @@ public class PgpEncryptDecryptTest { InputData data = new InputData(in, in.available()); PgpDecryptVerifyOperation op = operationWithFakePassphraseCache(null, null, null); - PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(); + PgpDecryptVerifyInputParcel input = PgpDecryptVerifyInputParcel.builder().build(); DecryptVerifyResult result = op.execute(input, CryptoInputParcel.createCryptoInputParcel(mKeyPhrase1), data, out); @@ -1040,7 +1048,7 @@ public class PgpEncryptDecryptTest { InputData data = new InputData(in, in.available()); PgpDecryptVerifyOperation op = operationWithFakePassphraseCache(null, null, null); - PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(); + PgpDecryptVerifyInputParcel input = PgpDecryptVerifyInputParcel.builder().build(); DecryptVerifyResult result = op.execute(input, CryptoInputParcel.createCryptoInputParcel(), data, out); diff --git a/OpenKeychain/src/test/java/org/sufficientlysecure/keychain/provider/InteropTest.java b/OpenKeychain/src/test/java/org/sufficientlysecure/keychain/provider/InteropTest.java index 1220d1a8d..98571ff3f 100644 --- a/OpenKeychain/src/test/java/org/sufficientlysecure/keychain/provider/InteropTest.java +++ b/OpenKeychain/src/test/java/org/sufficientlysecure/keychain/provider/InteropTest.java @@ -143,7 +143,7 @@ public class InteropTest { Passphrase pass = new Passphrase(config.getString("passphrase")); PgpDecryptVerifyOperation op = makeOperation(base.toString(), pass, decrypt, verify); - PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(); + PgpDecryptVerifyInputParcel input = PgpDecryptVerifyInputParcel.builder().build(); CryptoInputParcel cip = CryptoInputParcel.createCryptoInputParcel(pass); DecryptVerifyResult result = op.execute(input, cip, data, out); byte[] plaintext = config.getString("textcontent").getBytes("utf-8");