diff --git a/pgpainless-core/src/main/java/org/pgpainless/decryption_verification/DecryptionStreamFactory.java b/pgpainless-core/src/main/java/org/pgpainless/decryption_verification/DecryptionStreamFactory.java index 66ed2d05..72707037 100644 --- a/pgpainless-core/src/main/java/org/pgpainless/decryption_verification/DecryptionStreamFactory.java +++ b/pgpainless-core/src/main/java/org/pgpainless/decryption_verification/DecryptionStreamFactory.java @@ -56,8 +56,8 @@ import org.pgpainless.key.SubkeyIdentifier; import org.pgpainless.key.info.KeyRingInfo; import org.pgpainless.key.protection.SecretKeyRingProtector; import org.pgpainless.key.protection.UnlockSecretKey; -import org.pgpainless.signature.DetachedSignatureCheck; -import org.pgpainless.signature.OnePassSignatureCheck; +import org.pgpainless.signature.consumer.DetachedSignatureCheck; +import org.pgpainless.signature.consumer.OnePassSignatureCheck; import org.pgpainless.signature.SignatureUtils; import org.pgpainless.util.CRCingArmoredInputStreamWrapper; import org.pgpainless.util.PGPUtilWrapper; diff --git a/pgpainless-core/src/main/java/org/pgpainless/decryption_verification/SignatureInputStream.java b/pgpainless-core/src/main/java/org/pgpainless/decryption_verification/SignatureInputStream.java index 5145f86b..cd8682df 100644 --- a/pgpainless-core/src/main/java/org/pgpainless/decryption_verification/SignatureInputStream.java +++ b/pgpainless-core/src/main/java/org/pgpainless/decryption_verification/SignatureInputStream.java @@ -4,7 +4,7 @@ package org.pgpainless.decryption_verification; -import static org.pgpainless.signature.SignatureValidator.signatureWasCreatedInBounds; +import static org.pgpainless.signature.consumer.SignatureValidator.signatureWasCreatedInBounds; import java.io.FilterInputStream; import java.io.IOException; @@ -20,9 +20,9 @@ import org.bouncycastle.openpgp.PGPSignatureList; import org.pgpainless.PGPainless; import org.pgpainless.exception.SignatureValidationException; import org.pgpainless.policy.Policy; -import org.pgpainless.signature.CertificateValidator; -import org.pgpainless.signature.DetachedSignatureCheck; -import org.pgpainless.signature.OnePassSignatureCheck; +import org.pgpainless.signature.consumer.CertificateValidator; +import org.pgpainless.signature.consumer.DetachedSignatureCheck; +import org.pgpainless.signature.consumer.OnePassSignatureCheck; import org.pgpainless.signature.SignatureUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/pgpainless-core/src/main/java/org/pgpainless/key/KeyRingValidator.java b/pgpainless-core/src/main/java/org/pgpainless/key/KeyRingValidator.java index 5809ad1a..f52c1408 100644 --- a/pgpainless-core/src/main/java/org/pgpainless/key/KeyRingValidator.java +++ b/pgpainless-core/src/main/java/org/pgpainless/key/KeyRingValidator.java @@ -19,8 +19,8 @@ import org.pgpainless.algorithm.SignatureType; import org.pgpainless.exception.SignatureValidationException; import org.pgpainless.implementation.ImplementationFactory; import org.pgpainless.policy.Policy; -import org.pgpainless.signature.SignatureCreationDateComparator; -import org.pgpainless.signature.SignatureVerifier; +import org.pgpainless.signature.consumer.SignatureCreationDateComparator; +import org.pgpainless.signature.consumer.SignatureVerifier; import org.pgpainless.util.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; 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 f8711037..37270b58 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 @@ -39,7 +39,7 @@ import org.pgpainless.exception.KeyValidationError; import org.pgpainless.key.OpenPgpFingerprint; import org.pgpainless.key.SubkeyIdentifier; import org.pgpainless.policy.Policy; -import org.pgpainless.signature.SignaturePicker; +import org.pgpainless.signature.consumer.SignaturePicker; import org.pgpainless.signature.SignatureUtils; import org.pgpainless.signature.subpackets.SignatureSubpacketsUtil; diff --git a/pgpainless-core/src/main/java/org/pgpainless/signature/builder/SignatureBuilder.java b/pgpainless-core/src/main/java/org/pgpainless/signature/builder/SignatureFactory.java similarity index 98% rename from pgpainless-core/src/main/java/org/pgpainless/signature/builder/SignatureBuilder.java rename to pgpainless-core/src/main/java/org/pgpainless/signature/builder/SignatureFactory.java index 8b1308dd..b113c161 100644 --- a/pgpainless-core/src/main/java/org/pgpainless/signature/builder/SignatureBuilder.java +++ b/pgpainless-core/src/main/java/org/pgpainless/signature/builder/SignatureFactory.java @@ -16,9 +16,9 @@ import org.pgpainless.exception.WrongPassphraseException; import org.pgpainless.key.protection.SecretKeyRingProtector; import org.pgpainless.signature.subpackets.SelfSignatureSubpackets; -public final class SignatureBuilder { +public final class SignatureFactory { - private SignatureBuilder() { + private SignatureFactory() { } diff --git a/pgpainless-core/src/main/java/org/pgpainless/signature/CertificateValidator.java b/pgpainless-core/src/main/java/org/pgpainless/signature/consumer/CertificateValidator.java similarity index 98% rename from pgpainless-core/src/main/java/org/pgpainless/signature/CertificateValidator.java rename to pgpainless-core/src/main/java/org/pgpainless/signature/consumer/CertificateValidator.java index b163d61f..7080e368 100644 --- a/pgpainless-core/src/main/java/org/pgpainless/signature/CertificateValidator.java +++ b/pgpainless-core/src/main/java/org/pgpainless/signature/consumer/CertificateValidator.java @@ -2,9 +2,9 @@ // // SPDX-License-Identifier: Apache-2.0 -package org.pgpainless.signature; +package org.pgpainless.signature.consumer; -import static org.pgpainless.signature.SignatureVerifier.verifyOnePassSignature; +import static org.pgpainless.signature.consumer.SignatureVerifier.verifyOnePassSignature; import java.io.InputStream; import java.util.ArrayList; @@ -24,6 +24,7 @@ import org.pgpainless.algorithm.KeyFlag; import org.pgpainless.algorithm.SignatureType; import org.pgpainless.exception.SignatureValidationException; import org.pgpainless.policy.Policy; +import org.pgpainless.signature.SignatureUtils; import org.pgpainless.signature.subpackets.SignatureSubpacketsUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/pgpainless-core/src/main/java/org/pgpainless/signature/DetachedSignatureCheck.java b/pgpainless-core/src/main/java/org/pgpainless/signature/consumer/DetachedSignatureCheck.java similarity index 98% rename from pgpainless-core/src/main/java/org/pgpainless/signature/DetachedSignatureCheck.java rename to pgpainless-core/src/main/java/org/pgpainless/signature/consumer/DetachedSignatureCheck.java index 2ffcff0e..c667e3e8 100644 --- a/pgpainless-core/src/main/java/org/pgpainless/signature/DetachedSignatureCheck.java +++ b/pgpainless-core/src/main/java/org/pgpainless/signature/consumer/DetachedSignatureCheck.java @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: Apache-2.0 -package org.pgpainless.signature; +package org.pgpainless.signature.consumer; import org.bouncycastle.openpgp.PGPKeyRing; import org.bouncycastle.openpgp.PGPSignature; diff --git a/pgpainless-core/src/main/java/org/pgpainless/signature/OnePassSignatureCheck.java b/pgpainless-core/src/main/java/org/pgpainless/signature/consumer/OnePassSignatureCheck.java similarity index 97% rename from pgpainless-core/src/main/java/org/pgpainless/signature/OnePassSignatureCheck.java rename to pgpainless-core/src/main/java/org/pgpainless/signature/consumer/OnePassSignatureCheck.java index ec22b6ab..7a6a5b10 100644 --- a/pgpainless-core/src/main/java/org/pgpainless/signature/OnePassSignatureCheck.java +++ b/pgpainless-core/src/main/java/org/pgpainless/signature/consumer/OnePassSignatureCheck.java @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: Apache-2.0 -package org.pgpainless.signature; +package org.pgpainless.signature.consumer; import org.bouncycastle.openpgp.PGPOnePassSignature; import org.bouncycastle.openpgp.PGPPublicKeyRing; diff --git a/pgpainless-core/src/main/java/org/pgpainless/signature/ProofUtil.java b/pgpainless-core/src/main/java/org/pgpainless/signature/consumer/ProofUtil.java similarity index 99% rename from pgpainless-core/src/main/java/org/pgpainless/signature/ProofUtil.java rename to pgpainless-core/src/main/java/org/pgpainless/signature/consumer/ProofUtil.java index 81055b84..c61c2e25 100644 --- a/pgpainless-core/src/main/java/org/pgpainless/signature/ProofUtil.java +++ b/pgpainless-core/src/main/java/org/pgpainless/signature/consumer/ProofUtil.java @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: Apache-2.0 -package org.pgpainless.signature; +package org.pgpainless.signature.consumer; import java.util.ArrayList; import java.util.Collections; diff --git a/pgpainless-core/src/main/java/org/pgpainless/signature/README.md b/pgpainless-core/src/main/java/org/pgpainless/signature/consumer/README.md similarity index 100% rename from pgpainless-core/src/main/java/org/pgpainless/signature/README.md rename to pgpainless-core/src/main/java/org/pgpainless/signature/consumer/README.md diff --git a/pgpainless-core/src/main/java/org/pgpainless/signature/SignatureCreationDateComparator.java b/pgpainless-core/src/main/java/org/pgpainless/signature/consumer/SignatureCreationDateComparator.java similarity index 96% rename from pgpainless-core/src/main/java/org/pgpainless/signature/SignatureCreationDateComparator.java rename to pgpainless-core/src/main/java/org/pgpainless/signature/consumer/SignatureCreationDateComparator.java index 8900be40..7996e33b 100644 --- a/pgpainless-core/src/main/java/org/pgpainless/signature/SignatureCreationDateComparator.java +++ b/pgpainless-core/src/main/java/org/pgpainless/signature/consumer/SignatureCreationDateComparator.java @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: Apache-2.0 -package org.pgpainless.signature; +package org.pgpainless.signature.consumer; import java.util.Comparator; diff --git a/pgpainless-core/src/main/java/org/pgpainless/signature/SignaturePicker.java b/pgpainless-core/src/main/java/org/pgpainless/signature/consumer/SignaturePicker.java similarity index 99% rename from pgpainless-core/src/main/java/org/pgpainless/signature/SignaturePicker.java rename to pgpainless-core/src/main/java/org/pgpainless/signature/consumer/SignaturePicker.java index b5bb9706..deaa2ff3 100644 --- a/pgpainless-core/src/main/java/org/pgpainless/signature/SignaturePicker.java +++ b/pgpainless-core/src/main/java/org/pgpainless/signature/consumer/SignaturePicker.java @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: Apache-2.0 -package org.pgpainless.signature; +package org.pgpainless.signature.consumer; import java.util.Collections; import java.util.Date; @@ -15,6 +15,7 @@ import org.bouncycastle.openpgp.PGPSignature; import org.pgpainless.algorithm.SignatureType; import org.pgpainless.exception.SignatureValidationException; import org.pgpainless.policy.Policy; +import org.pgpainless.signature.SignatureUtils; import org.pgpainless.util.CollectionUtils; /** diff --git a/pgpainless-core/src/main/java/org/pgpainless/signature/SignatureValidator.java b/pgpainless-core/src/main/java/org/pgpainless/signature/consumer/SignatureValidator.java similarity index 99% rename from pgpainless-core/src/main/java/org/pgpainless/signature/SignatureValidator.java rename to pgpainless-core/src/main/java/org/pgpainless/signature/consumer/SignatureValidator.java index 0a4947af..8d4f682e 100644 --- a/pgpainless-core/src/main/java/org/pgpainless/signature/SignatureValidator.java +++ b/pgpainless-core/src/main/java/org/pgpainless/signature/consumer/SignatureValidator.java @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: Apache-2.0 -package org.pgpainless.signature; +package org.pgpainless.signature.consumer; import java.security.NoSuchAlgorithmException; import java.util.Arrays; @@ -30,6 +30,7 @@ import org.pgpainless.exception.SignatureValidationException; import org.pgpainless.implementation.ImplementationFactory; import org.pgpainless.key.OpenPgpFingerprint; import org.pgpainless.policy.Policy; +import org.pgpainless.signature.SignatureUtils; import org.pgpainless.signature.subpackets.SignatureSubpacketsUtil; import org.pgpainless.util.BCUtil; import org.pgpainless.util.DateUtil; diff --git a/pgpainless-core/src/main/java/org/pgpainless/signature/SignatureValidityComparator.java b/pgpainless-core/src/main/java/org/pgpainless/signature/consumer/SignatureValidityComparator.java similarity index 92% rename from pgpainless-core/src/main/java/org/pgpainless/signature/SignatureValidityComparator.java rename to pgpainless-core/src/main/java/org/pgpainless/signature/consumer/SignatureValidityComparator.java index 31d29111..02558339 100644 --- a/pgpainless-core/src/main/java/org/pgpainless/signature/SignatureValidityComparator.java +++ b/pgpainless-core/src/main/java/org/pgpainless/signature/consumer/SignatureValidityComparator.java @@ -2,18 +2,19 @@ // // SPDX-License-Identifier: Apache-2.0 -package org.pgpainless.signature; +package org.pgpainless.signature.consumer; import java.util.Comparator; import org.bouncycastle.openpgp.PGPSignature; +import org.pgpainless.signature.SignatureUtils; /** * Comparator which sorts signatures based on an ordering and on revocation hardness. * * If a list of signatures gets ordered using this comparator, hard revocations will always * come first. - * Further, signatures are ordered by date according to the {@link org.pgpainless.signature.SignatureCreationDateComparator.Order}. + * Further, signatures are ordered by date according to the {@link SignatureCreationDateComparator.Order}. */ public class SignatureValidityComparator implements Comparator { diff --git a/pgpainless-core/src/main/java/org/pgpainless/signature/SignatureVerifier.java b/pgpainless-core/src/main/java/org/pgpainless/signature/consumer/SignatureVerifier.java similarity index 99% rename from pgpainless-core/src/main/java/org/pgpainless/signature/SignatureVerifier.java rename to pgpainless-core/src/main/java/org/pgpainless/signature/consumer/SignatureVerifier.java index 30ec5d0c..b0db7c9b 100644 --- a/pgpainless-core/src/main/java/org/pgpainless/signature/SignatureVerifier.java +++ b/pgpainless-core/src/main/java/org/pgpainless/signature/consumer/SignatureVerifier.java @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: Apache-2.0 -package org.pgpainless.signature; +package org.pgpainless.signature.consumer; import java.io.IOException; import java.io.InputStream; diff --git a/pgpainless-core/src/main/java/org/pgpainless/signature/subpackets/CertificationSubpackets.java b/pgpainless-core/src/main/java/org/pgpainless/signature/subpackets/CertificationSubpackets.java new file mode 100644 index 00000000..e6597ca9 --- /dev/null +++ b/pgpainless-core/src/main/java/org/pgpainless/signature/subpackets/CertificationSubpackets.java @@ -0,0 +1,18 @@ +// SPDX-FileCopyrightText: 2021 Paul Schaub +// +// SPDX-License-Identifier: Apache-2.0 + +package org.pgpainless.signature.subpackets; + +public interface CertificationSubpackets extends BaseSignatureSubpackets { + + interface Callback { + default void modifyHashedSubpackets(CertificationSubpackets subpackets) { + + } + + default void modifyUnhashedSubpackets(CertificationSubpackets subpackets) { + + } + } +} diff --git a/pgpainless-core/src/test/java/org/pgpainless/decryption_verification/CleartextSignatureVerificationTest.java b/pgpainless-core/src/test/java/org/pgpainless/decryption_verification/CleartextSignatureVerificationTest.java index cdba4d07..0fa5e9e4 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/decryption_verification/CleartextSignatureVerificationTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/decryption_verification/CleartextSignatureVerificationTest.java @@ -34,9 +34,9 @@ import org.pgpainless.encryption_signing.SigningOptions; import org.pgpainless.exception.WrongConsumingMethodException; import org.pgpainless.key.TestKeys; import org.pgpainless.key.protection.SecretKeyRingProtector; -import org.pgpainless.signature.CertificateValidator; +import org.pgpainless.signature.consumer.CertificateValidator; import org.pgpainless.signature.SignatureUtils; -import org.pgpainless.signature.SignatureVerifier; +import org.pgpainless.signature.consumer.SignatureVerifier; import org.pgpainless.util.ArmorUtils; import org.pgpainless.util.TestUtils; diff --git a/pgpainless-core/src/test/java/org/pgpainless/signature/BindingSignatureSubpacketsTest.java b/pgpainless-core/src/test/java/org/pgpainless/signature/BindingSignatureSubpacketsTest.java index 01f5356b..85e4299d 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/signature/BindingSignatureSubpacketsTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/signature/BindingSignatureSubpacketsTest.java @@ -22,6 +22,7 @@ import org.pgpainless.PGPainless; import org.pgpainless.exception.SignatureValidationException; import org.pgpainless.implementation.ImplementationFactory; import org.pgpainless.policy.Policy; +import org.pgpainless.signature.consumer.CertificateValidator; /** * Explores how subpackets on binding sigs are handled. diff --git a/pgpainless-core/src/test/java/org/pgpainless/signature/CertificateValidatorTest.java b/pgpainless-core/src/test/java/org/pgpainless/signature/CertificateValidatorTest.java index e01bf84d..73a7cb85 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/signature/CertificateValidatorTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/signature/CertificateValidatorTest.java @@ -28,6 +28,7 @@ import org.pgpainless.decryption_verification.OpenPgpMetadata; import org.pgpainless.exception.SignatureValidationException; import org.pgpainless.implementation.ImplementationFactory; import org.pgpainless.policy.Policy; +import org.pgpainless.signature.consumer.CertificateValidator; public class CertificateValidatorTest { diff --git a/pgpainless-core/src/test/java/org/pgpainless/signature/KeyRevocationTest.java b/pgpainless-core/src/test/java/org/pgpainless/signature/KeyRevocationTest.java index c4f899b4..73e726bf 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/signature/KeyRevocationTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/signature/KeyRevocationTest.java @@ -19,6 +19,7 @@ import org.junit.jupiter.params.provider.MethodSource; import org.pgpainless.PGPainless; import org.pgpainless.exception.SignatureValidationException; import org.pgpainless.implementation.ImplementationFactory; +import org.pgpainless.signature.consumer.CertificateValidator; public class KeyRevocationTest { diff --git a/pgpainless-core/src/test/java/org/pgpainless/signature/SignatureOverUserAttributesTest.java b/pgpainless-core/src/test/java/org/pgpainless/signature/SignatureOverUserAttributesTest.java index c8e8c821..16b241b4 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/signature/SignatureOverUserAttributesTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/signature/SignatureOverUserAttributesTest.java @@ -28,6 +28,7 @@ import org.pgpainless.implementation.ImplementationFactory; import org.pgpainless.key.TestKeys; import org.pgpainless.key.protection.SecretKeyRingProtector; import org.pgpainless.key.protection.UnlockSecretKey; +import org.pgpainless.signature.consumer.SignatureVerifier; public class SignatureOverUserAttributesTest { diff --git a/pgpainless-core/src/test/java/org/pgpainless/signature/SignatureSubpacketsUtilTest.java b/pgpainless-core/src/test/java/org/pgpainless/signature/SignatureSubpacketsUtilTest.java index 588a7191..ce5b1690 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/signature/SignatureSubpacketsUtilTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/signature/SignatureSubpacketsUtilTest.java @@ -46,6 +46,7 @@ import org.pgpainless.key.TestKeys; import org.pgpainless.key.protection.SecretKeyRingProtector; import org.pgpainless.key.protection.UnlockSecretKey; import org.pgpainless.policy.Policy; +import org.pgpainless.signature.consumer.SignaturePicker; import org.pgpainless.signature.subpackets.SignatureSubpacketsUtil; public class SignatureSubpacketsUtilTest { diff --git a/pgpainless-core/src/test/java/org/pgpainless/signature/SignatureWasPossiblyMadeByKeyTest.java b/pgpainless-core/src/test/java/org/pgpainless/signature/SignatureWasPossiblyMadeByKeyTest.java index f01331b3..c7424af1 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/signature/SignatureWasPossiblyMadeByKeyTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/signature/SignatureWasPossiblyMadeByKeyTest.java @@ -17,6 +17,7 @@ import org.junit.jupiter.api.Test; import org.pgpainless.PGPainless; import org.pgpainless.exception.SignatureValidationException; import org.pgpainless.key.OpenPgpV4Fingerprint; +import org.pgpainless.signature.consumer.SignatureValidator; public class SignatureWasPossiblyMadeByKeyTest { diff --git a/pgpainless-core/src/test/java/org/pgpainless/signature/builder/ProofUtilTest.java b/pgpainless-core/src/test/java/org/pgpainless/signature/builder/ProofUtilTest.java index a040ee93..881b804d 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/signature/builder/ProofUtilTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/signature/builder/ProofUtilTest.java @@ -20,7 +20,7 @@ import org.junit.jupiter.api.Test; import org.pgpainless.PGPainless; import org.pgpainless.key.info.KeyRingInfo; import org.pgpainless.key.protection.SecretKeyRingProtector; -import org.pgpainless.signature.ProofUtil; +import org.pgpainless.signature.consumer.ProofUtil; public class ProofUtilTest { diff --git a/pgpainless-core/src/test/java/org/pgpainless/signature/builder/SubkeyBindingSignatureBuilderTest.java b/pgpainless-core/src/test/java/org/pgpainless/signature/builder/SubkeyBindingSignatureBuilderTest.java index d3f27bab..4218563b 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/signature/builder/SubkeyBindingSignatureBuilderTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/signature/builder/SubkeyBindingSignatureBuilderTest.java @@ -45,7 +45,7 @@ public class SubkeyBindingSignatureBuilderTest { .getEncryptionSubkeys(EncryptionPurpose.ANY).get(0); PGPSecretKey subkeySec = tempSubkeyRing.getSecretKey(subkeyPub.getKeyID()); - PGPSignature binding = SignatureBuilder.bindNonSigningSubkey( + PGPSignature binding = SignatureFactory.bindNonSigningSubkey( secretKey.getSecretKey(), protector, new SelfSignatureSubpackets.Callback() { @Override