From 576cef3c07ed055889e9249296dc2a2a7ade6c1c Mon Sep 17 00:00:00 2001
From: Ludovic Poitou <ludovic.poitou@forgerock.com>
Date: Wed, 16 Jul 2014 17:06:00 +0000
Subject: [PATCH] Fix for OPENDJ-1510 - Password Storage Scheme for PKCS5S2. Fix test failures with Java 6 due to limitation in JDK.
---
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/PKCS5S2PasswordStorageSchemeTestCase.java | 42 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 42 insertions(+), 0 deletions(-)
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/PKCS5S2PasswordStorageSchemeTestCase.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/PKCS5S2PasswordStorageSchemeTestCase.java
index dfac4e3..9d21145 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/PKCS5S2PasswordStorageSchemeTestCase.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/PKCS5S2PasswordStorageSchemeTestCase.java
@@ -31,6 +31,7 @@
import org.opends.server.admin.std.meta.PKCS5S2PasswordStorageSchemeCfgDefn;
import org.opends.server.admin.std.server.PKCS5S2PasswordStorageSchemeCfg;
import org.opends.server.api.PasswordStorageScheme;
+import org.opends.server.types.ByteString;
import org.opends.server.types.Entry;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
@@ -53,6 +54,47 @@
}
+ /**
+ * Retrieves a set of passwords that may be used to test the password storage
+ * scheme.
+ *
+ * @return A set of passwords that may be used to test the password storage
+ * scheme.
+ */
+ @DataProvider(name = "testPasswords")
+ public Object[][] getTestPasswords()
+ {
+ return new Object[][]
+ {
+ /*
+ * JDK Bug 6879540. Empty passwords are not accepted when generating PBESpecKey.
+ * The bug is present in Java 6 and some version of Java 7.
+ * new Object[] { ByteString.empty() },
+ * new Object[] { ByteString.valueOf("") },
+ */
+ new Object[] { ByteString.valueOf("\u0000") },
+ new Object[] { ByteString.valueOf("\t") },
+ new Object[] { ByteString.valueOf("\n") },
+ new Object[] { ByteString.valueOf("\r\n") },
+ new Object[] { ByteString.valueOf(" ") },
+ new Object[] { ByteString.valueOf("Test1\tTest2\tTest3") },
+ new Object[] { ByteString.valueOf("Test1\nTest2\nTest3") },
+ new Object[] { ByteString.valueOf("Test1\r\nTest2\r\nTest3") },
+ new Object[] { ByteString.valueOf("a") },
+ new Object[] { ByteString.valueOf("ab") },
+ new Object[] { ByteString.valueOf("abc") },
+ new Object[] { ByteString.valueOf("abcd") },
+ new Object[] { ByteString.valueOf("abcde") },
+ new Object[] { ByteString.valueOf("abcdef") },
+ new Object[] { ByteString.valueOf("abcdefg") },
+ new Object[] { ByteString.valueOf("abcdefgh") },
+ new Object[] { ByteString.valueOf("The Quick Brown Fox Jumps Over " +
+ "The Lazy Dog") },
+ new Object[] { ByteString.valueOf("\u00BFD\u00F3nde est\u00E1 el " +
+ "ba\u00F1o?") }
+ };
+ }
+
/**
* Retrieves an initialized instance of this password storage scheme.
--
Gitblit v1.10.0