aboutsummaryrefslogtreecommitdiffstats
path: root/libraries/spongycastle/prov/src/test/java/org/spongycastle/jce/provider/test/DoFinalTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/spongycastle/prov/src/test/java/org/spongycastle/jce/provider/test/DoFinalTest.java')
-rw-r--r--libraries/spongycastle/prov/src/test/java/org/spongycastle/jce/provider/test/DoFinalTest.java164
1 files changed, 0 insertions, 164 deletions
diff --git a/libraries/spongycastle/prov/src/test/java/org/spongycastle/jce/provider/test/DoFinalTest.java b/libraries/spongycastle/prov/src/test/java/org/spongycastle/jce/provider/test/DoFinalTest.java
deleted file mode 100644
index fd0da3e50..000000000
--- a/libraries/spongycastle/prov/src/test/java/org/spongycastle/jce/provider/test/DoFinalTest.java
+++ /dev/null
@@ -1,164 +0,0 @@
-package org.spongycastle.jce.provider.test;
-
-import java.security.Key;
-import java.security.Security;
-
-import javax.crypto.Cipher;
-import javax.crypto.KeyGenerator;
-
-import org.spongycastle.jce.provider.BouncyCastleProvider;
-import org.spongycastle.util.test.SimpleTestResult;
-import org.spongycastle.util.test.Test;
-import org.spongycastle.util.test.TestResult;
-
-/**
- * check that doFinal is properly reseting the cipher.
- */
-public class DoFinalTest
- implements Test
-{
- public DoFinalTest()
- {
- }
-
- private boolean equalArray(
- byte[] a,
- int aOff,
- byte[] b,
- int length)
- {
- if (aOff + a.length < length)
- {
- return false;
- }
-
- if (b.length < length)
- {
- return false;
- }
-
- for (int i = 0; i != length; i++)
- {
- if (a[aOff + i] != b[i])
- {
- return false;
- }
- }
-
- return true;
- }
-
- public TestResult checkCipher(
- String cipherName)
- {
- String lCode = "ABCDEFGHIJKLMNOPQRSTUVWXY0123456789";
- String baseAlgorithm;
- int index = cipherName.indexOf('/');
-
- if (index > 0)
- {
- baseAlgorithm = cipherName.substring(0, index);
- }
- else
- {
- baseAlgorithm = cipherName;
- }
-
- try
- {
- KeyGenerator kGen = KeyGenerator.getInstance(baseAlgorithm, "SC");
- Cipher cipher = Cipher.getInstance(cipherName, "SC");
- Key key = kGen.generateKey();
-
- cipher.init(Cipher.ENCRYPT_MODE, key);
-
- byte[] encrypted = cipher.doFinal(lCode.getBytes());
-
- // 2nd try
- byte[] encrypted2 = cipher.doFinal(lCode.getBytes());
-
- if (encrypted.length != encrypted2.length)
- {
- return new SimpleTestResult(false, getName() + ": Failed " + cipherName + " - expected length " + encrypted.length + " got " + encrypted2.length);
- }
-
- if (!equalArray(encrypted, 0, encrypted2, encrypted.length))
- {
- return new SimpleTestResult(false, getName() + ": Failed " + cipherName + " - first two arrays not equal");
- }
-
- // 3rd try
- byte[] enc1 = cipher.update(lCode.getBytes());
- byte[] enc2 = cipher.doFinal();
-
- if ((enc1.length + enc2.length) != encrypted.length)
- {
- return new SimpleTestResult(false, getName() + ": Failed " + cipherName + " - expected length " + encrypted.length + " got " + (enc1.length + enc2.length));
- }
-
- if (!equalArray(encrypted, 0, enc1, enc1.length))
- {
- return new SimpleTestResult(false, getName() + ": Failed " + cipherName + " - enc1 array not equal");
- }
-
- if (!equalArray(encrypted, enc1.length, enc2, enc2.length))
- {
- return new SimpleTestResult(false, getName() + ": Failed " + cipherName + " - enc1 array not equal");
- }
-
- enc1 = cipher.update(lCode.getBytes());
-
- if (!equalArray(encrypted, 0, enc1, enc1.length))
- {
- return new SimpleTestResult(false, getName() + ": Failed " + cipherName + " - 2nd enc1 array not equal");
- }
-
- int len = cipher.doFinal(enc1, 0);
- if ((enc1.length + len) != encrypted.length)
- {
- return new SimpleTestResult(false, getName() + ": Failed " + cipherName + " - expected length " + encrypted.length + " got " + (enc1.length + len));
- }
- }
- catch (Exception e)
- {
- return new SimpleTestResult(false, getName() + ": Failed " + cipherName + " - exception " + e.toString());
- }
-
- return new SimpleTestResult(true, getName() + ": Okay");
- }
-
- public TestResult perform()
- {
- TestResult result = checkCipher("RC4");
-
- if (!result.isSuccessful())
- {
- return result;
- }
-
- result = checkCipher("DES/CBC/PKCS5Padding");
-
- if (!result.isSuccessful())
- {
- return result;
- }
-
- return checkCipher("Rijndael");
- }
-
- public String getName()
- {
- return "DoFinalTest";
- }
-
- public static void main(
- String[] args)
- {
- Security.addProvider(new BouncyCastleProvider());
-
- Test test = new DoFinalTest();
- TestResult result = test.perform();
-
- System.out.println(result.toString());
- }
-}