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 2011/12/15 16:47:22 UTC

svn commit: r1214814 - in /santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom: DOMReference.java DOMTransform.java DOMXMLSignatureFactory.java

Author: coheigea
Date: Thu Dec 15 15:47:21 2011
New Revision: 1214814

URL: http://svn.apache.org/viewvc?rev=1214814&view=rev
Log:
Changing the JSR-105 implementation so that it searches for a Transform using the given provider first

Modified:
    santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMReference.java
    santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMTransform.java
    santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMReference.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMReference.java?rev=1214814&r1=1214813&r2=1214814&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMReference.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMReference.java Thu Dec 15 15:47:21 2011
@@ -482,11 +482,14 @@ public final class DOMReference extends 
                         (((OctetStreamData)data).getOctetStream());
                 } else if (data instanceof NodeSetData) {
                     TransformService spi = null;
-                    try {
+                    if (provider == null) {
                         spi = TransformService.getInstance(c14nalg, "DOM");
-                    } catch (NoSuchAlgorithmException nsae) {
-                        spi = TransformService.getInstance(c14nalg,
-                                                           "DOM", provider);
+                    } else {
+                        try {
+                            spi = TransformService.getInstance(c14nalg, "DOM", provider);
+                        } catch (NoSuchAlgorithmException nsae) {
+                            spi = TransformService.getInstance(c14nalg, "DOM");
+                        }
                     }
                     data = spi.transform(data, context);
                     xi = new XMLSignatureInput
@@ -496,8 +499,18 @@ public final class DOMReference extends 
                 }
                 if (context instanceof XMLSignContext && c14n11
                     && !xi.isOctetStream() && !xi.isOutputStreamSet()) {
-                    DOMTransform t = new DOMTransform
-                        (TransformService.getInstance(c14nalg, "DOM"));
+                    TransformService spi = null;
+                    if (provider == null) {
+                        spi = TransformService.getInstance(c14nalg, "DOM");
+                    } else {
+                        try {
+                            spi = TransformService.getInstance(c14nalg, "DOM", provider);
+                        } catch (NoSuchAlgorithmException nsae) {
+                            spi = TransformService.getInstance(c14nalg, "DOM");
+                        }
+                    }
+                    
+                    DOMTransform t = new DOMTransform(spi);
                     Element transformsElem = null;
                     String dsPrefix = DOMUtils.getSignaturePrefix(context);
                     if (allTransforms.isEmpty()) {

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMTransform.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMTransform.java?rev=1214814&r1=1214813&r2=1214814&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMTransform.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMTransform.java Thu Dec 15 15:47:21 2011
@@ -69,13 +69,22 @@ public class DOMTransform extends DOMStr
         throws MarshalException
     {
         String algorithm = DOMUtils.getAttributeValue(transElem, "Algorithm");
-        try {
-            spi = TransformService.getInstance(algorithm, "DOM");
-        } catch (NoSuchAlgorithmException e1) {
+        
+        if (provider == null) {
+            try {
+                spi = TransformService.getInstance(algorithm, "DOM");
+            } catch (NoSuchAlgorithmException e1) {
+                throw new MarshalException(e1);
+            }
+        } else {
             try {
                 spi = TransformService.getInstance(algorithm, "DOM", provider);
-            } catch (NoSuchAlgorithmException e2) {
-                throw new MarshalException(e2);
+            } catch (NoSuchAlgorithmException nsae) {
+                try {
+                    spi = TransformService.getInstance(algorithm, "DOM");
+                } catch (NoSuchAlgorithmException e2) {
+                    throw new MarshalException(e2);
+                }
             }
         }
         try {

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java?rev=1214814&r1=1214813&r2=1214814&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java Thu Dec 15 15:47:21 2011
@@ -256,12 +256,18 @@ public final class DOMXMLSignatureFactor
     public Transform newTransform(String algorithm,
         TransformParameterSpec params) throws NoSuchAlgorithmException,
         InvalidAlgorithmParameterException {
+        
         TransformService spi;
-        try {
+        if (getProvider() == null) {
             spi = TransformService.getInstance(algorithm, "DOM");
-        } catch (NoSuchAlgorithmException nsae) {
-            spi = TransformService.getInstance(algorithm, "DOM", getProvider());
+        } else {
+            try {
+                spi = TransformService.getInstance(algorithm, "DOM", getProvider());
+            } catch (NoSuchAlgorithmException nsae) {
+                spi = TransformService.getInstance(algorithm, "DOM");
+            }
         }
+        
         spi.init(params);
         return new DOMTransform(spi);
     }
@@ -270,11 +276,16 @@ public final class DOMXMLSignatureFactor
         XMLStructure params) throws NoSuchAlgorithmException,
         InvalidAlgorithmParameterException {
         TransformService spi;
-        try {
+        if (getProvider() == null) {
             spi = TransformService.getInstance(algorithm, "DOM");
-        } catch (NoSuchAlgorithmException nsae) {
-            spi = TransformService.getInstance(algorithm, "DOM", getProvider());
+        } else {
+            try {
+                spi = TransformService.getInstance(algorithm, "DOM", getProvider());
+            } catch (NoSuchAlgorithmException nsae) {
+                spi = TransformService.getInstance(algorithm, "DOM");
+            }
         }
+        
         if (params == null) {
             spi.init(null);
         } else {
@@ -287,11 +298,16 @@ public final class DOMXMLSignatureFactor
         C14NMethodParameterSpec params) throws NoSuchAlgorithmException,
         InvalidAlgorithmParameterException {
         TransformService spi;
-        try {
+        if (getProvider() == null) {
             spi = TransformService.getInstance(algorithm, "DOM");
-        } catch (NoSuchAlgorithmException nsae) {
-            spi = TransformService.getInstance(algorithm, "DOM", getProvider());
+        } else {
+            try {
+                spi = TransformService.getInstance(algorithm, "DOM", getProvider());
+            } catch (NoSuchAlgorithmException nsae) {
+                spi = TransformService.getInstance(algorithm, "DOM");
+            }
         }
+        
         spi.init(params);
         return new DOMCanonicalizationMethod(spi);
     }
@@ -300,16 +316,16 @@ public final class DOMXMLSignatureFactor
         XMLStructure params) throws NoSuchAlgorithmException,
         InvalidAlgorithmParameterException {
         TransformService spi; 
-        try {
+        if (getProvider() == null) {
             spi = TransformService.getInstance(algorithm, "DOM");
-        } catch (NoSuchAlgorithmException nsae) {
-            spi = TransformService.getInstance(algorithm, "DOM", getProvider());
-        }
-        if (params == null) {
-            spi.init(null);
         } else {
-            spi.init(params, null);
+            try {
+                spi = TransformService.getInstance(algorithm, "DOM", getProvider());
+            } catch (NoSuchAlgorithmException nsae) {
+                spi = TransformService.getInstance(algorithm, "DOM");
+            }
         }
+        
         return new DOMCanonicalizationMethod(spi);
     }