From e03cf9daf6d006a077fa3ee30c5bac5c6e9d91bf Mon Sep 17 00:00:00 2001 From: Xue-Lei Andrew Fan Date: Thu, 10 Dec 2015 06:09:36 +0000 Subject: [PATCH] 8136410: AlgorithmDecomposer is not parsing padding correctly Reviewed-by: weijun --- .../security/util/AlgorithmDecomposer.java | 4 +- .../DecomposeAlgorithms.java | 71 +++++++++++++++++++ 2 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 jdk/test/sun/security/util/AlgorithmConstraints/DecomposeAlgorithms.java diff --git a/jdk/src/java.base/share/classes/sun/security/util/AlgorithmDecomposer.java b/jdk/src/java.base/share/classes/sun/security/util/AlgorithmDecomposer.java index 82e61cbb06b..4410a3102be 100644 --- a/jdk/src/java.base/share/classes/sun/security/util/AlgorithmDecomposer.java +++ b/jdk/src/java.base/share/classes/sun/security/util/AlgorithmDecomposer.java @@ -35,8 +35,10 @@ import java.util.regex.Pattern; public class AlgorithmDecomposer { private static final Pattern transPattern = Pattern.compile("/"); + + // '(? parsed = parser.decompose(fullAlgName); + if (parsed.size() != components.length) { + throw new Exception("Not expected components number: " + parsed); + } + + for (String component : components) { + if (!parsed.contains(component)) { + throw new Exception("Not a expected component: " + component); + } + } + + System.out.println("OK: " + fullAlgName); + } +}