diff --git a/pgpainless-core/src/main/java/org/pgpainless/key/generation/KeyRingBuilder.java b/pgpainless-core/src/main/java/org/pgpainless/key/generation/KeyRingBuilder.java index 7cc25d93..fcbe8a7e 100644 --- a/pgpainless-core/src/main/java/org/pgpainless/key/generation/KeyRingBuilder.java +++ b/pgpainless-core/src/main/java/org/pgpainless/key/generation/KeyRingBuilder.java @@ -51,6 +51,7 @@ import org.pgpainless.key.generation.type.KeyType; import org.pgpainless.key.generation.type.RSA_GENERAL; import org.pgpainless.key.generation.type.curve.EllipticCurve; import org.pgpainless.key.generation.type.length.RsaLength; +import org.pgpainless.provider.ProviderFactory; import org.pgpainless.util.Passphrase; public class KeyRingBuilder implements KeyRingBuilderInterface { @@ -160,6 +161,7 @@ public class KeyRingBuilder implements KeyRingBuilderInterface { // Hash Calculator PGPDigestCalculator calculator = new JcaPGPDigestCalculatorProviderBuilder() + .setProvider(ProviderFactory.getProvider()) .build() .get(HashAlgorithm.SHA1.getAlgorithmId()); @@ -183,7 +185,8 @@ public class KeyRingBuilder implements KeyRingBuilderInterface { // Signer for creating self-signature PGPContentSignerBuilder signer = new JcaPGPContentSignerBuilder( - certKey.getPublicKey().getAlgorithm(), HashAlgorithm.SHA512.getAlgorithmId()); + certKey.getPublicKey().getAlgorithm(), HashAlgorithm.SHA512.getAlgorithmId()) + .setProvider(ProviderFactory.getProvider()); PGPSignatureSubpacketVector hashedSubPackets = certKeySpec.getSubpackets(); @@ -212,7 +215,7 @@ public class KeyRingBuilder implements KeyRingBuilderInterface { throws NoSuchAlgorithmException, PGPException, InvalidAlgorithmParameterException { KeyType type = spec.getKeyType(); - KeyPairGenerator certKeyGenerator = KeyPairGenerator.getInstance(type.getName()); + KeyPairGenerator certKeyGenerator = KeyPairGenerator.getInstance(type.getName(), ProviderFactory.getProvider()); certKeyGenerator.initialize(type.getAlgorithmSpec()); // Create raw Key Pair diff --git a/pgpainless-core/src/test/java/org/pgpainless/AbstractPGPainlessTest.java b/pgpainless-core/src/test/java/org/pgpainless/AbstractPGPainlessTest.java deleted file mode 100644 index 18782cb2..00000000 --- a/pgpainless-core/src/test/java/org/pgpainless/AbstractPGPainlessTest.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright 2018 Paul Schaub. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.pgpainless; - -import java.security.Security; - -import org.junit.BeforeClass; -import org.pgpainless.provider.ProviderFactory; - -public abstract class AbstractPGPainlessTest { - - @BeforeClass - public static void registerProvider() { - Security.insertProviderAt(ProviderFactory.getProvider(), 1); - } -} diff --git a/pgpainless-core/src/test/java/org/pgpainless/BCUtilTest.java b/pgpainless-core/src/test/java/org/pgpainless/BCUtilTest.java index 8b8c1645..cc6e8a18 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/BCUtilTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/BCUtilTest.java @@ -42,7 +42,7 @@ import org.pgpainless.key.generation.type.RSA_GENERAL; import org.pgpainless.key.generation.type.length.RsaLength; import org.pgpainless.util.BCUtil; -public class BCUtilTest extends AbstractPGPainlessTest { +public class BCUtilTest { private static final Logger LOGGER = Logger.getLogger(BCUtil.class.getName()); diff --git a/pgpainless-core/src/test/java/org/pgpainless/BouncycastleExportSubkeys.java b/pgpainless-core/src/test/java/org/pgpainless/BouncycastleExportSubkeys.java index b29e0ee2..322f6858 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/BouncycastleExportSubkeys.java +++ b/pgpainless-core/src/test/java/org/pgpainless/BouncycastleExportSubkeys.java @@ -41,8 +41,9 @@ import org.bouncycastle.openpgp.operator.jcajce.JcaPGPContentSignerBuilder; import org.bouncycastle.openpgp.operator.jcajce.JcaPGPDigestCalculatorProviderBuilder; import org.bouncycastle.openpgp.operator.jcajce.JcaPGPKeyPair; import org.junit.Test; +import org.pgpainless.provider.ProviderFactory; -public class BouncycastleExportSubkeys extends AbstractPGPainlessTest { +public class BouncycastleExportSubkeys { @Test public void testExportImport() throws NoSuchAlgorithmException, InvalidAlgorithmParameterException, PGPException { @@ -51,7 +52,7 @@ public class BouncycastleExportSubkeys extends AbstractPGPainlessTest { // Generate master key - generator = KeyPairGenerator.getInstance("ECDSA"); + generator = KeyPairGenerator.getInstance("ECDSA", ProviderFactory.getProvider()); generator.initialize(new ECNamedCurveGenParameterSpec("P-256")); pair = generator.generateKeyPair(); @@ -77,7 +78,7 @@ public class BouncycastleExportSubkeys extends AbstractPGPainlessTest { // Generate sub key - generator = KeyPairGenerator.getInstance("ECDH"); + generator = KeyPairGenerator.getInstance("ECDH", ProviderFactory.getProvider()); generator.initialize(new ECNamedCurveGenParameterSpec("P-256")); pair = generator.generateKeyPair(); @@ -86,11 +87,13 @@ public class BouncycastleExportSubkeys extends AbstractPGPainlessTest { // Assemble key PGPDigestCalculator calculator = new JcaPGPDigestCalculatorProviderBuilder() + .setProvider(ProviderFactory.getProvider()) .build() .get(HashAlgorithmTags.SHA1); PGPContentSignerBuilder signerBuilder = new JcaPGPContentSignerBuilder( - pgpMasterKey.getPublicKey().getAlgorithm(), HashAlgorithmTags.SHA512); + pgpMasterKey.getPublicKey().getAlgorithm(), HashAlgorithmTags.SHA512) + .setProvider(ProviderFactory.getProvider()); PGPKeyRingGenerator pgpGenerator = new PGPKeyRingGenerator(PGPSignature.POSITIVE_CERTIFICATION, pgpMasterKey, "alice@wonderland.lit", calculator, subPackets.generate(), null, diff --git a/pgpainless-core/src/test/java/org/pgpainless/EncryptDecryptTest.java b/pgpainless-core/src/test/java/org/pgpainless/EncryptDecryptTest.java index 4070c1fc..b07f19ab 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/EncryptDecryptTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/EncryptDecryptTest.java @@ -52,7 +52,7 @@ import org.pgpainless.key.protection.SecretKeyRingProtector; import org.pgpainless.key.protection.UnprotectedKeysProtector; import org.pgpainless.util.BCUtil; -public class EncryptDecryptTest extends AbstractPGPainlessTest { +public class EncryptDecryptTest { private static final Logger LOGGER = Logger.getLogger(EncryptDecryptTest.class.getName()); private static final Charset UTF8 = Charset.forName("UTF-8"); diff --git a/pgpainless-core/src/test/java/org/pgpainless/ImportExportKeyTest.java b/pgpainless-core/src/test/java/org/pgpainless/ImportExportKeyTest.java index 9ead5553..8087da38 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/ImportExportKeyTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/ImportExportKeyTest.java @@ -32,7 +32,7 @@ import org.bouncycastle.openpgp.operator.bc.BcKeyFingerprintCalculator; import org.junit.Test; import org.pgpainless.key.collection.PGPKeyRing; -public class ImportExportKeyTest extends AbstractPGPainlessTest { +public class ImportExportKeyTest { /** * Test the export and import of a key ring with sub keys. diff --git a/pgpainless-core/src/test/java/org/pgpainless/LengthTest.java b/pgpainless-core/src/test/java/org/pgpainless/LengthTest.java index cb4394c7..28fbd51f 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/LengthTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/LengthTest.java @@ -39,7 +39,7 @@ import org.pgpainless.key.protection.UnprotectedKeysProtector; /** * Class used to determine the length of cipher-text depending on used algorithms. */ -public class LengthTest extends AbstractPGPainlessTest { +public class LengthTest { private static final Logger LOGGER = Logger.getLogger(LengthTest.class.getName()); diff --git a/pgpainless-core/src/test/java/org/pgpainless/OpenPgpV4FingerprintTest.java b/pgpainless-core/src/test/java/org/pgpainless/OpenPgpV4FingerprintTest.java index f3d5f5e8..0886dbf2 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/OpenPgpV4FingerprintTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/OpenPgpV4FingerprintTest.java @@ -24,7 +24,7 @@ import org.bouncycastle.openpgp.PGPPublicKey; import org.junit.Test; import org.pgpainless.key.OpenPgpV4Fingerprint; -public class OpenPgpV4FingerprintTest extends AbstractPGPainlessTest { +public class OpenPgpV4FingerprintTest { @Test(expected = IllegalArgumentException.class) public void fpTooShort() { diff --git a/pgpainless-core/src/test/java/org/pgpainless/SymmetricTest.java b/pgpainless-core/src/test/java/org/pgpainless/SymmetricTest.java index 27865f05..471b42b1 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/SymmetricTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/SymmetricTest.java @@ -29,7 +29,7 @@ import org.junit.Test; import org.pgpainless.algorithm.SymmetricKeyAlgorithm; import org.pgpainless.util.Passphrase; -public class SymmetricTest extends AbstractPGPainlessTest { +public class SymmetricTest { private static final Logger LOGGER = Logger.getLogger(SymmetricTest.class.getName()); diff --git a/pgpainless-core/src/test/java/org/pgpainless/TestKeys.java b/pgpainless-core/src/test/java/org/pgpainless/TestKeys.java index 4dea45d2..de1a6dc2 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/TestKeys.java +++ b/pgpainless-core/src/test/java/org/pgpainless/TestKeys.java @@ -28,7 +28,7 @@ import org.bouncycastle.openpgp.operator.KeyFingerPrintCalculator; import org.bouncycastle.openpgp.operator.bc.BcKeyFingerprintCalculator; import org.pgpainless.key.OpenPgpV4Fingerprint; -public class TestKeys extends AbstractPGPainlessTest { +public class TestKeys { private static final KeyFingerPrintCalculator calc = new BcKeyFingerprintCalculator(); private static PGPSecretKeyRing julietSecretKeyRing = null; diff --git a/pgpainless-core/src/test/java/org/pgpainless/TestKeysTest.java b/pgpainless-core/src/test/java/org/pgpainless/TestKeysTest.java index 4c5cbffe..15f32fb5 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/TestKeysTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/TestKeysTest.java @@ -38,7 +38,7 @@ import org.pgpainless.decryption_verification.OpenPgpMetadata; import org.pgpainless.key.OpenPgpV4Fingerprint; import org.pgpainless.key.protection.UnprotectedKeysProtector; -public class TestKeysTest extends AbstractPGPainlessTest { +public class TestKeysTest { private final PGPSecretKeyRing juliet; private final PGPSecretKeyRing romeo;