From 59f1a8588783c3eef065fb9cffb2118b50d3bbcd Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Tue, 28 Dec 2021 12:30:52 +0100 Subject: [PATCH] Fix more code issues --- .../pgpainless/algorithm/AlgorithmSuite.java | 2 +- .../DecryptionBuilder.java | 2 +- .../encryption_signing/EncryptionResult.java | 2 +- .../org/pgpainless/key/info/KeyRingInfo.java | 2 +- .../MissingPassphraseForDecryptionTest.java | 6 +--- .../provider/ProviderFactoryTest.java | 35 +++++++++++-------- .../DetachInbandSignatureAndMessageImpl.java | 10 +++--- 7 files changed, 31 insertions(+), 28 deletions(-) diff --git a/pgpainless-core/src/main/java/org/pgpainless/algorithm/AlgorithmSuite.java b/pgpainless-core/src/main/java/org/pgpainless/algorithm/AlgorithmSuite.java index cc416ea2..e155e367 100644 --- a/pgpainless-core/src/main/java/org/pgpainless/algorithm/AlgorithmSuite.java +++ b/pgpainless-core/src/main/java/org/pgpainless/algorithm/AlgorithmSuite.java @@ -16,7 +16,7 @@ import java.util.Set; */ public class AlgorithmSuite { - private static AlgorithmSuite defaultAlgorithmSuite = new AlgorithmSuite( + private static final AlgorithmSuite defaultAlgorithmSuite = new AlgorithmSuite( Arrays.asList( SymmetricKeyAlgorithm.AES_256, SymmetricKeyAlgorithm.AES_192, diff --git a/pgpainless-core/src/main/java/org/pgpainless/decryption_verification/DecryptionBuilder.java b/pgpainless-core/src/main/java/org/pgpainless/decryption_verification/DecryptionBuilder.java index 0611ae99..239e47c8 100644 --- a/pgpainless-core/src/main/java/org/pgpainless/decryption_verification/DecryptionBuilder.java +++ b/pgpainless-core/src/main/java/org/pgpainless/decryption_verification/DecryptionBuilder.java @@ -24,7 +24,7 @@ public class DecryptionBuilder implements DecryptionBuilderInterface { class DecryptWithImpl implements DecryptWith { - private BufferedInputStream inputStream; + private final BufferedInputStream inputStream; DecryptWithImpl(InputStream inputStream) { this.inputStream = new BufferedInputStream(inputStream, BUFFER_SIZE); diff --git a/pgpainless-core/src/main/java/org/pgpainless/encryption_signing/EncryptionResult.java b/pgpainless-core/src/main/java/org/pgpainless/encryption_signing/EncryptionResult.java index 21d42254..566238d3 100644 --- a/pgpainless-core/src/main/java/org/pgpainless/encryption_signing/EncryptionResult.java +++ b/pgpainless-core/src/main/java/org/pgpainless/encryption_signing/EncryptionResult.java @@ -145,7 +145,7 @@ public final class EncryptionResult { private CompressionAlgorithm compressionAlgorithm; private final MultiMap detachedSignatures = new MultiMap<>(); - private Set recipients = new HashSet<>(); + private final Set recipients = new HashSet<>(); private String fileName = ""; private Date modificationDate = new Date(0L); // NOW private StreamEncoding encoding = StreamEncoding.BINARY; diff --git a/pgpainless-core/src/main/java/org/pgpainless/key/info/KeyRingInfo.java b/pgpainless-core/src/main/java/org/pgpainless/key/info/KeyRingInfo.java index efff9115..fd399eec 100644 --- a/pgpainless-core/src/main/java/org/pgpainless/key/info/KeyRingInfo.java +++ b/pgpainless-core/src/main/java/org/pgpainless/key/info/KeyRingInfo.java @@ -53,7 +53,7 @@ public class KeyRingInfo { private static final Pattern PATTERN_EMAIL = Pattern.compile("[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,6}"); private final PGPKeyRing keys; - private Signatures signatures; + private final Signatures signatures; private final Date evaluationDate; private final String primaryUserId; diff --git a/pgpainless-core/src/test/java/org/pgpainless/decryption_verification/MissingPassphraseForDecryptionTest.java b/pgpainless-core/src/test/java/org/pgpainless/decryption_verification/MissingPassphraseForDecryptionTest.java index 87ae2fed..f7d36aba 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/decryption_verification/MissingPassphraseForDecryptionTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/decryption_verification/MissingPassphraseForDecryptionTest.java @@ -18,7 +18,6 @@ import java.nio.charset.StandardCharsets; import java.security.InvalidAlgorithmParameterException; import java.security.NoSuchAlgorithmException; import java.util.List; -import javax.annotation.Nullable; import org.bouncycastle.openpgp.PGPException; import org.bouncycastle.openpgp.PGPPublicKey; @@ -41,7 +40,7 @@ import org.pgpainless.util.Passphrase; public class MissingPassphraseForDecryptionTest { - private String passphrase = "dragon123"; + private final String passphrase = "dragon123"; private PGPSecretKeyRing secretKeys; private byte[] message; @@ -63,7 +62,6 @@ public class MissingPassphraseForDecryptionTest { @Test public void invalidPostponedKeysStrategyTest() { SecretKeyPassphraseProvider callback = new SecretKeyPassphraseProvider() { - @Nullable @Override public Passphrase getPassphraseFor(Long keyId) { fail("MUST NOT get called in if postponed key strategy is invalid."); @@ -88,7 +86,6 @@ public class MissingPassphraseForDecryptionTest { public void interactiveStrategy() throws PGPException, IOException { // interactive callback SecretKeyPassphraseProvider callback = new SecretKeyPassphraseProvider() { - @Nullable @Override public Passphrase getPassphraseFor(Long keyId) { // is called in interactive mode @@ -121,7 +118,6 @@ public class MissingPassphraseForDecryptionTest { List encryptionKeys = info.getEncryptionSubkeys(EncryptionPurpose.ANY); SecretKeyPassphraseProvider callback = new SecretKeyPassphraseProvider() { - @Nullable @Override public Passphrase getPassphraseFor(Long keyId) { fail("MUST NOT get called in non-interactive mode."); diff --git a/pgpainless-core/src/test/java/org/pgpainless/provider/ProviderFactoryTest.java b/pgpainless-core/src/test/java/org/pgpainless/provider/ProviderFactoryTest.java index a7da6ca9..60c0bc19 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/provider/ProviderFactoryTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/provider/ProviderFactoryTest.java @@ -8,27 +8,15 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import java.security.Provider; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; public class ProviderFactoryTest { - @Test - public void providerFactoryDefaultIsBouncyCastleTest() { - assertEquals("BC", ProviderFactory.getProviderName()); - } - - @Test - public void setCustomProviderTest() { - ProviderFactory.setFactory(customProviderFactory); - assertEquals("PL", ProviderFactory.getProviderName()); - // Reset back to BouncyCastle - ProviderFactory.setFactory(new BouncyCastleProviderFactory()); - } - - private ProviderFactory customProviderFactory = new ProviderFactory() { + private final ProviderFactory customProviderFactory = new ProviderFactory() { @SuppressWarnings("deprecation") - Provider provider = new Provider("PL", 1L, "PGPainlessTestProvider") { + final Provider provider = new Provider("PL", 1L, "PGPainlessTestProvider") { }; @@ -42,4 +30,21 @@ public class ProviderFactoryTest { return provider.getName(); } }; + + @Test + public void providerFactoryDefaultIsBouncyCastleTest() { + assertEquals("BC", ProviderFactory.getProviderName()); + } + + @Test + public void setCustomProviderTest() { + ProviderFactory.setFactory(customProviderFactory); + assertEquals("PL", ProviderFactory.getProviderName()); + } + + @AfterEach + public void resetToDefault() { + // Reset back to BouncyCastle + ProviderFactory.setFactory(new BouncyCastleProviderFactory()); + } } diff --git a/pgpainless-sop/src/main/java/org/pgpainless/sop/DetachInbandSignatureAndMessageImpl.java b/pgpainless-sop/src/main/java/org/pgpainless/sop/DetachInbandSignatureAndMessageImpl.java index b1558a90..34d2f618 100644 --- a/pgpainless-sop/src/main/java/org/pgpainless/sop/DetachInbandSignatureAndMessageImpl.java +++ b/pgpainless-sop/src/main/java/org/pgpainless/sop/DetachInbandSignatureAndMessageImpl.java @@ -37,11 +37,13 @@ public class DetachInbandSignatureAndMessageImpl implements DetachInbandSignatur return new ReadyWithResult() { - private ByteArrayOutputStream sigOut = new ByteArrayOutputStream(); - @Override - public Signatures writeTo(OutputStream messageOutputStream) throws SOPGPException.NoSignature, IOException { + private final ByteArrayOutputStream sigOut = new ByteArrayOutputStream(); - PGPSignatureList signatures = null; + @Override + public Signatures writeTo(OutputStream messageOutputStream) + throws SOPGPException.NoSignature, IOException { + + PGPSignatureList signatures; try { signatures = ClearsignedMessageUtil.detachSignaturesFromInbandClearsignedMessage(messageInputStream, messageOutputStream); } catch (WrongConsumingMethodException e) {