From cc1e4601e31e359a90a857aeab4dba52f23fa472 Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Sun, 29 Nov 2020 15:33:54 +0100 Subject: [PATCH] replace create{Encryptor,Decryptor} methods with encryptAndOrSign,decryptAndOrVerify --- README.md | 4 ++-- .../main/java/org/pgpainless/PGPainless.java | 23 ++++++++++++++++++- .../DecryptAndVerifyMessageTest.java | 2 +- .../EncryptDecryptTest.java | 12 +++++----- .../encryption_signing/LengthTest.java | 2 +- .../ChangeSecretKeyRingPassphraseTest.java | 2 +- 6 files changed, 33 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 91e587a4..63a66323 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,7 @@ Take for example a look at this delicious key: Encrypting and signing data is pretty straight forward as well. ```java - EncryptionStream encryptor = PGPainless.createEncryptor() + EncryptionStream encryptor = PGPainless.encryptAndOrSign() .onOutputStream(targetOuputStream) .toRecipients(publicKeyRings) .usingSecureAlgorithms() @@ -109,7 +109,7 @@ This object will contain information like to which keys the message is encrypted To process incoming encrypted / signed data, just do the following: ```java - DecryptionStream decryptor = PGPainless.createDecryptor() + DecryptionStream decryptor = PGPainless.decryptAndOrVerify() .onInputStream(sourceInputStream) // insert encrypted data here .decryptWith(secretKeyDecryptor, secretKey) .verifyWith(trustedKeyIds, senderKeys) diff --git a/pgpainless-core/src/main/java/org/pgpainless/PGPainless.java b/pgpainless-core/src/main/java/org/pgpainless/PGPainless.java index 0b0dab34..b0d34d54 100644 --- a/pgpainless-core/src/main/java/org/pgpainless/PGPainless.java +++ b/pgpainless-core/src/main/java/org/pgpainless/PGPainless.java @@ -55,17 +55,38 @@ public class PGPainless { /** * Create an {@link EncryptionStream}, which can be used to encrypt and/or sign data using OpenPGP. + * + * @deprecated Use {@link #encryptAndOrSign()} instead. * @return builder */ public static EncryptionBuilder createEncryptor() { + return encryptAndOrSign(); + } + + /** + * Create an {@link EncryptionStream}, which can be used to encrypt and/or sign data using OpenPGP. + * @return builder + */ + public static EncryptionBuilder encryptAndOrSign() { return new EncryptionBuilder(); } + /** + * Create a {@link DecryptionStream}, which can be used to decrypt and/or verify data using OpenPGP. + * + * @deprecated Use {@link #decryptAndOrVerify()} instead. + * @return builder + */ + @Deprecated + public static DecryptionBuilder createDecryptor() { + return decryptAndOrVerify(); + } + /** * Create a {@link DecryptionStream}, which can be used to decrypt and/or verify data using OpenPGP. * @return builder */ - public static DecryptionBuilder createDecryptor() { + public static DecryptionBuilder decryptAndOrVerify() { return new DecryptionBuilder(); } diff --git a/pgpainless-core/src/test/java/org/pgpainless/decryption_verification/DecryptAndVerifyMessageTest.java b/pgpainless-core/src/test/java/org/pgpainless/decryption_verification/DecryptAndVerifyMessageTest.java index 3db7836e..67ba24b1 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/decryption_verification/DecryptAndVerifyMessageTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/decryption_verification/DecryptAndVerifyMessageTest.java @@ -56,7 +56,7 @@ public class DecryptAndVerifyMessageTest { public void decryptMessageAndVerifySignatureTest() throws Exception { String encryptedMessage = TestKeys.MSG_SIGN_CRYPT_JULIET_JULIET; - DecryptionStream decryptor = PGPainless.createDecryptor() + DecryptionStream decryptor = PGPainless.decryptAndOrVerify() .onInputStream(new ByteArrayInputStream(encryptedMessage.getBytes())) .decryptWith(new UnprotectedKeysProtector(), new PGPSecretKeyRingCollection(Collections.singleton(juliet))) .verifyWith(Collections.singleton(new PGPPublicKeyRing(Collections.singletonList(juliet.getPublicKey())))) diff --git a/pgpainless-core/src/test/java/org/pgpainless/encryption_signing/EncryptDecryptTest.java b/pgpainless-core/src/test/java/org/pgpainless/encryption_signing/EncryptDecryptTest.java index a3935d47..ff8386e5 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/encryption_signing/EncryptDecryptTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/encryption_signing/EncryptDecryptTest.java @@ -137,7 +137,7 @@ public class EncryptDecryptTest { ByteArrayOutputStream envelope = new ByteArrayOutputStream(); - EncryptionStream encryptor = PGPainless.createEncryptor() + EncryptionStream encryptor = PGPainless.encryptAndOrSign() .onOutputStream(envelope) .toRecipients(recipientPub) .usingSecureAlgorithms() @@ -165,7 +165,7 @@ public class EncryptDecryptTest { // Juliet trieth to comprehend Romeos words ByteArrayInputStream envelopeIn = new ByteArrayInputStream(encryptedSecretMessage); - DecryptionStream decryptor = PGPainless.createDecryptor() + DecryptionStream decryptor = PGPainless.decryptAndOrVerify() .onInputStream(envelopeIn) .decryptWith(keyDecryptor, BCUtil.keyRingsToKeyRingCollection(recipientSec)) .verifyWith(BCUtil.keyRingsToKeyRingCollection(senderPub)) @@ -193,7 +193,7 @@ public class EncryptDecryptTest { byte[] data = testMessage.getBytes(); ByteArrayInputStream inputStream = new ByteArrayInputStream(data); ByteArrayOutputStream dummyOut = new ByteArrayOutputStream(); - EncryptionStream signer = PGPainless.createEncryptor().onOutputStream(dummyOut) + EncryptionStream signer = PGPainless.encryptAndOrSign().onOutputStream(dummyOut) .doNotEncrypt() .createDetachedSignature() .signWith(keyRingProtector, signingKeys.getSecretKeys()) @@ -214,7 +214,7 @@ public class EncryptDecryptTest { // CHECKSTYLE:ON inputStream = new ByteArrayInputStream(testMessage.getBytes()); - DecryptionStream verifier = PGPainless.createDecryptor().onInputStream(inputStream) + DecryptionStream verifier = PGPainless.decryptAndOrVerify().onInputStream(inputStream) .doNotDecrypt() .verifyDetachedSignature(new ByteArrayInputStream(armorSig.getBytes())) .verifyWith(Collections.singleton(signingKeys.getPublicKeys())) @@ -235,7 +235,7 @@ public class EncryptDecryptTest { byte[] data = testMessage.getBytes(); ByteArrayInputStream inputStream = new ByteArrayInputStream(data); ByteArrayOutputStream signOut = new ByteArrayOutputStream(); - EncryptionStream signer = PGPainless.createEncryptor().onOutputStream(signOut) + EncryptionStream signer = PGPainless.encryptAndOrSign().onOutputStream(signOut) .doNotEncrypt() .signWith(keyRingProtector, signingKeys.getSecretKeys()) .asciiArmor(); @@ -247,7 +247,7 @@ public class EncryptDecryptTest { // CHECKSTYLE:ON inputStream = new ByteArrayInputStream(signOut.toByteArray()); - DecryptionStream verifier = PGPainless.createDecryptor().onInputStream(inputStream) + DecryptionStream verifier = PGPainless.decryptAndOrVerify().onInputStream(inputStream) .doNotDecrypt() .verifyWith(Collections.singleton(signingKeys.getPublicKeys())) .ignoreMissingPublicKeys() diff --git a/pgpainless-core/src/test/java/org/pgpainless/encryption_signing/LengthTest.java b/pgpainless-core/src/test/java/org/pgpainless/encryption_signing/LengthTest.java index 03d58148..bbd4a4ed 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/encryption_signing/LengthTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/encryption_signing/LengthTest.java @@ -116,7 +116,7 @@ public class LengthTest { ByteArrayOutputStream envelope = new ByteArrayOutputStream(); - OutputStream encryptor = PGPainless.createEncryptor() + OutputStream encryptor = PGPainless.encryptAndOrSign() .onOutputStream(envelope) .toRecipients(recipientPub) // .doNotEncrypt() diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/modification/ChangeSecretKeyRingPassphraseTest.java b/pgpainless-core/src/test/java/org/pgpainless/key/modification/ChangeSecretKeyRingPassphraseTest.java index 3f2caab3..42d3c7f8 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/modification/ChangeSecretKeyRingPassphraseTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/modification/ChangeSecretKeyRingPassphraseTest.java @@ -180,7 +180,7 @@ public class ChangeSecretKeyRingPassphraseTest { private void signDummyMessageWithKeysAndPassphrase(PGPKeyRing keyRing, Passphrase passphrase) throws IOException, PGPException { String dummyMessage = "dummy"; ByteArrayOutputStream dummy = new ByteArrayOutputStream(); - EncryptionStream stream = PGPainless.createEncryptor().onOutputStream(dummy) + EncryptionStream stream = PGPainless.encryptAndOrSign().onOutputStream(dummy) .doNotEncrypt() .signWith(PasswordBasedSecretKeyRingProtector.forKey(keyRing.getSecretKeys(), passphrase), keyRing.getSecretKeys()) .noArmor();