You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by co...@apache.org on 2020/05/08 07:06:36 UTC
svn commit: r1877498 -
/santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod.java
Author: coheigea
Date: Fri May 8 07:06:36 2020
New Revision: 1877498
URL: http://svn.apache.org/viewvc?rev=1877498&view=rev
Log:
SANTUARIO-540 - refactor of DOMCanonicalizationMethod. Thanks to Alanscut <wp...@163.com> for the patch. This closes #30.
Modified:
santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod.java
Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod.java?rev=1877498&r1=1877497&r2=1877498&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod.java Fri May 8 07:06:36 2020
@@ -25,6 +25,9 @@ import java.io.OutputStream;
import java.security.InvalidAlgorithmParameterException;
import java.security.Provider;
import java.security.spec.AlgorithmParameterSpec;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
import org.w3c.dom.Element;
@@ -38,6 +41,19 @@ import javax.xml.crypto.dsig.*;
public class DOMCanonicalizationMethod extends DOMTransform
implements CanonicalizationMethod {
+ private static final Set<String> C14N_ALGORITHMS;
+
+ static {
+ Set<String> algorithms = new HashSet<>();
+ algorithms.add(CanonicalizationMethod.INCLUSIVE);
+ algorithms.add(CanonicalizationMethod.INCLUSIVE_WITH_COMMENTS);
+ algorithms.add(CanonicalizationMethod.EXCLUSIVE);
+ algorithms.add(CanonicalizationMethod.EXCLUSIVE_WITH_COMMENTS);
+ algorithms.add(DOMCanonicalXMLC14N11Method.C14N_11);
+ algorithms.add(DOMCanonicalXMLC14N11Method.C14N_11_WITH_COMMENTS);
+ C14N_ALGORITHMS = Collections.unmodifiableSet(algorithms);
+ }
+
/**
* Creates a <code>DOMCanonicalizationMethod</code>.
*
@@ -121,21 +137,8 @@ public class DOMCanonicalizationMethod e
}
private static boolean isC14Nalg(String alg) {
- return isInclusiveC14Nalg(alg) || isExclusiveC14Nalg(alg) || isC14N11alg(alg);
+ return alg != null && C14N_ALGORITHMS.contains(alg);
}
- private static boolean isInclusiveC14Nalg(String alg) {
- return alg.equals(CanonicalizationMethod.INCLUSIVE)
- || alg.equals(CanonicalizationMethod.INCLUSIVE_WITH_COMMENTS);
- }
- private static boolean isExclusiveC14Nalg(String alg) {
- return alg.equals(CanonicalizationMethod.EXCLUSIVE)
- || alg.equals(CanonicalizationMethod.EXCLUSIVE_WITH_COMMENTS);
- }
-
- private static boolean isC14N11alg(String alg) {
- return alg.equals(DOMCanonicalXMLC14N11Method.C14N_11)
- || alg.equals(DOMCanonicalXMLC14N11Method.C14N_11_WITH_COMMENTS);
- }
}