From f5338e13e71d80bc10ac153bf0c4d33f0cab1e7e Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Sun, 3 Jan 2021 17:06:38 +0100 Subject: [PATCH] Get rid of ElGamal_GENERAL and rename ElGamal_ENCRYPT to ElGamal --- .../{ElGamal_ENCRYPT.java => ElGamal.java} | 11 ++-- .../type/elgamal/ElGamal_GENERAL.java | 62 ------------------- .../EncryptDecryptTest.java | 5 +- 3 files changed, 9 insertions(+), 69 deletions(-) rename pgpainless-core/src/main/java/org/pgpainless/key/generation/type/elgamal/{ElGamal_ENCRYPT.java => ElGamal.java} (85%) delete mode 100644 pgpainless-core/src/main/java/org/pgpainless/key/generation/type/elgamal/ElGamal_GENERAL.java diff --git a/pgpainless-core/src/main/java/org/pgpainless/key/generation/type/elgamal/ElGamal_ENCRYPT.java b/pgpainless-core/src/main/java/org/pgpainless/key/generation/type/elgamal/ElGamal.java similarity index 85% rename from pgpainless-core/src/main/java/org/pgpainless/key/generation/type/elgamal/ElGamal_ENCRYPT.java rename to pgpainless-core/src/main/java/org/pgpainless/key/generation/type/elgamal/ElGamal.java index b7da3c76..690c8f48 100644 --- a/pgpainless-core/src/main/java/org/pgpainless/key/generation/type/elgamal/ElGamal_ENCRYPT.java +++ b/pgpainless-core/src/main/java/org/pgpainless/key/generation/type/elgamal/ElGamal.java @@ -22,16 +22,19 @@ import org.bouncycastle.jce.spec.ElGamalParameterSpec; import org.pgpainless.algorithm.PublicKeyAlgorithm; import org.pgpainless.key.generation.type.KeyType; -public final class ElGamal_ENCRYPT implements KeyType { +/** + * ElGamal encryption only key type. + */ +public final class ElGamal implements KeyType { private final ElGamalLength length; - private ElGamal_ENCRYPT(@Nonnull ElGamalLength length) { + private ElGamal(@Nonnull ElGamalLength length) { this.length = length; } - public static ElGamal_ENCRYPT withLength(ElGamalLength length) { - return new ElGamal_ENCRYPT(length); + public static ElGamal withLength(ElGamalLength length) { + return new ElGamal(length); } @Override diff --git a/pgpainless-core/src/main/java/org/pgpainless/key/generation/type/elgamal/ElGamal_GENERAL.java b/pgpainless-core/src/main/java/org/pgpainless/key/generation/type/elgamal/ElGamal_GENERAL.java deleted file mode 100644 index 09289678..00000000 --- a/pgpainless-core/src/main/java/org/pgpainless/key/generation/type/elgamal/ElGamal_GENERAL.java +++ /dev/null @@ -1,62 +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.key.generation.type.elgamal; - -import javax.annotation.Nonnull; -import java.security.spec.AlgorithmParameterSpec; - -import org.bouncycastle.jce.spec.ElGamalParameterSpec; -import org.pgpainless.algorithm.PublicKeyAlgorithm; -import org.pgpainless.key.generation.type.KeyType; - -@Deprecated -public class ElGamal_GENERAL implements KeyType { - - private final ElGamalLength length; - - ElGamal_GENERAL(@Nonnull ElGamalLength length) { - this.length = length; - } - - public static ElGamal_GENERAL withLength(@Nonnull ElGamalLength length) { - return new ElGamal_GENERAL(length); - } - - @Override - public String getName() { - return "ElGamal"; - } - - @Override - public PublicKeyAlgorithm getAlgorithm() { - return PublicKeyAlgorithm.ELGAMAL_GENERAL; - } - - @Override - public AlgorithmParameterSpec getAlgorithmSpec() { - return new ElGamalParameterSpec(length.getP(), length.getG()); - } - - @Override - public boolean canSign() { - return true; - } - - @Override - public boolean canEncryptCommunication() { - return true; - } -} 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 7b5bf5f7..a06022ed 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 @@ -45,7 +45,7 @@ import org.pgpainless.decryption_verification.OpenPgpMetadata; import org.pgpainless.key.OpenPgpV4Fingerprint; import org.pgpainless.key.TestKeys; import org.pgpainless.key.generation.KeySpec; -import org.pgpainless.key.generation.type.elgamal.ElGamal_GENERAL; +import org.pgpainless.key.generation.type.elgamal.ElGamal; import org.pgpainless.key.generation.type.KeyType; import org.pgpainless.key.generation.type.elgamal.ElGamalLength; import org.pgpainless.key.generation.type.rsa.RsaLength; @@ -68,13 +68,12 @@ public class EncryptDecryptTest { "Unfold the imagined happiness that both\n" + "Receive in either by this dear encounter."; - @SuppressWarnings("deprecation") @Test public void freshKeysRsaToElGamalTest() throws PGPException, NoSuchAlgorithmException, InvalidAlgorithmParameterException, IOException { PGPSecretKeyRing sender = PGPainless.generateKeyRing().simpleRsaKeyRing("romeo@montague.lit", RsaLength._3072); PGPSecretKeyRing recipient = PGPainless.generateKeyRing() - .withSubKey(KeySpec.getBuilder(ElGamal_GENERAL.withLength(ElGamalLength._3072)).withKeyFlags(KeyFlag.ENCRYPT_STORAGE, KeyFlag.ENCRYPT_COMMS).withDefaultAlgorithms()) + .withSubKey(KeySpec.getBuilder(ElGamal.withLength(ElGamalLength._3072)).withKeyFlags(KeyFlag.ENCRYPT_STORAGE, KeyFlag.ENCRYPT_COMMS).withDefaultAlgorithms()) .withMasterKey(KeySpec.getBuilder(KeyType.RSA(RsaLength._4096)).withKeyFlags(KeyFlag.SIGN_DATA, KeyFlag.CERTIFY_OTHER).withDefaultAlgorithms()) .withPrimaryUserId("juliet@capulet.lit").withoutPassphrase().build();