From 56366ff7c7ccda3bbfcab300264c88160432f9fb Mon Sep 17 00:00:00 2001 From: "Gerlach, Winfried" Date: Fri, 14 Mar 2025 03:25:37 +0100 Subject: [PATCH] fix bug in SecretKeyUtil --- .../jcajce/provider/util/SecretKeyUtil.java | 20 ++++---- .../jcajce/provider/test/RandomTest.java | 5 +- .../jcajce/provider/util/test/AllTests.java | 48 +++++++++++++++++++ .../provider/util/test/SecretKeyUtilTest.java | 12 +++++ 4 files changed, 72 insertions(+), 13 deletions(-) create mode 100644 prov/src/test/java/org/bouncycastle/jcajce/provider/util/test/AllTests.java create mode 100644 prov/src/test/java/org/bouncycastle/jcajce/provider/util/test/SecretKeyUtilTest.java diff --git a/prov/src/main/java/org/bouncycastle/jcajce/provider/util/SecretKeyUtil.java b/prov/src/main/java/org/bouncycastle/jcajce/provider/util/SecretKeyUtil.java index 686d6b8461..2b636a76da 100644 --- a/prov/src/main/java/org/bouncycastle/jcajce/provider/util/SecretKeyUtil.java +++ b/prov/src/main/java/org/bouncycastle/jcajce/provider/util/SecretKeyUtil.java @@ -11,28 +11,28 @@ public class SecretKeyUtil { - private static Map keySizes = new HashMap(); + private static Map keySizes = new HashMap<>(); static { - keySizes.put(PKCSObjectIdentifiers.des_EDE3_CBC.getId(), Integers.valueOf(192)); + keySizes.put(PKCSObjectIdentifiers.des_EDE3_CBC, 192); - keySizes.put(NISTObjectIdentifiers.id_aes128_CBC, Integers.valueOf(128)); - keySizes.put(NISTObjectIdentifiers.id_aes192_CBC, Integers.valueOf(192)); - keySizes.put(NISTObjectIdentifiers.id_aes256_CBC, Integers.valueOf(256)); + keySizes.put(NISTObjectIdentifiers.id_aes128_CBC, 128); + keySizes.put(NISTObjectIdentifiers.id_aes192_CBC, 192); + keySizes.put(NISTObjectIdentifiers.id_aes256_CBC, 256); - keySizes.put(NTTObjectIdentifiers.id_camellia128_cbc, Integers.valueOf(128)); - keySizes.put(NTTObjectIdentifiers.id_camellia192_cbc, Integers.valueOf(192)); - keySizes.put(NTTObjectIdentifiers.id_camellia256_cbc, Integers.valueOf(256)); + keySizes.put(NTTObjectIdentifiers.id_camellia128_cbc, 128); + keySizes.put(NTTObjectIdentifiers.id_camellia192_cbc, 192); + keySizes.put(NTTObjectIdentifiers.id_camellia256_cbc, 256); } public static int getKeySize(ASN1ObjectIdentifier oid) { - Integer size = (Integer)keySizes.get(oid); + Integer size = keySizes.get(oid); if (size != null) { - return size.intValue(); + return size; } return -1; diff --git a/prov/src/test/java/org/bouncycastle/jcajce/provider/test/RandomTest.java b/prov/src/test/java/org/bouncycastle/jcajce/provider/test/RandomTest.java index 5804c43f6d..0b4f11fec4 100644 --- a/prov/src/test/java/org/bouncycastle/jcajce/provider/test/RandomTest.java +++ b/prov/src/test/java/org/bouncycastle/jcajce/provider/test/RandomTest.java @@ -2,7 +2,6 @@ import java.security.SecureRandom; -import junit.framework.Assert; import junit.framework.TestCase; import org.bouncycastle.jce.provider.BouncyCastleProvider; @@ -18,7 +17,7 @@ public void testCheckRandom() random.nextBytes(rng); - Assert.assertTrue(checkNonConstant(rng)); + assertTrue(checkNonConstant(rng)); } public void testCheckNonceIVRandom() @@ -30,7 +29,7 @@ public void testCheckNonceIVRandom() random.nextBytes(rng); - Assert.assertTrue(checkNonConstant(rng)); + assertTrue(checkNonConstant(rng)); } private boolean checkNonConstant(byte[] data) diff --git a/prov/src/test/java/org/bouncycastle/jcajce/provider/util/test/AllTests.java b/prov/src/test/java/org/bouncycastle/jcajce/provider/util/test/AllTests.java new file mode 100644 index 0000000000..3cf3089caf --- /dev/null +++ b/prov/src/test/java/org/bouncycastle/jcajce/provider/util/test/AllTests.java @@ -0,0 +1,48 @@ +package org.bouncycastle.jcajce.provider.util.test; + +import junit.extensions.TestSetup; +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; +import org.bouncycastle.jce.provider.BouncyCastleProvider; +import org.bouncycastle.test.PrintTestResult; + +import java.security.Security; + +public class AllTests + extends TestCase +{ + public static void main(String[] args) + { + + PrintTestResult.printResult(junit.textui.TestRunner.run(suite())); + } + + public static Test suite() + { + TestSuite suite = new TestSuite("JCAJCE Provider Util Tests"); + + suite.addTestSuite(SecretKeyUtilTest.class); + + return new BCTestSetup(suite); + } + + static class BCTestSetup + extends TestSetup + { + public BCTestSetup(Test test) + { + super(test); + } + + protected void setUp() + { + Security.addProvider(new BouncyCastleProvider()); + } + + protected void tearDown() + { + Security.removeProvider("BC"); + } + } +} diff --git a/prov/src/test/java/org/bouncycastle/jcajce/provider/util/test/SecretKeyUtilTest.java b/prov/src/test/java/org/bouncycastle/jcajce/provider/util/test/SecretKeyUtilTest.java new file mode 100644 index 0000000000..fc7c528523 --- /dev/null +++ b/prov/src/test/java/org/bouncycastle/jcajce/provider/util/test/SecretKeyUtilTest.java @@ -0,0 +1,12 @@ +package org.bouncycastle.jcajce.provider.util.test; + +import junit.framework.TestCase; +import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers; +import org.bouncycastle.jcajce.provider.util.SecretKeyUtil; + +public class SecretKeyUtilTest extends TestCase { + + public void testgetKeySize() { + assertEquals(192, SecretKeyUtil.getKeySize(PKCSObjectIdentifiers.des_EDE3_CBC)); + } +} \ No newline at end of file