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 2017/05/26 10:25:32 UTC

svn commit: r1796270 - in /santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security: Init.java utils/ElementProxy.java

Author: coheigea
Date: Fri May 26 10:25:32 2017
New Revision: 1796270

URL: http://svn.apache.org/viewvc?rev=1796270&view=rev
Log:
SANTUARIO-464 - Allow setting default algorithms without invoking the SecurityManager

Modified:
    santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/Init.java
    santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/utils/ElementProxy.java

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/Init.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/Init.java?rev=1796270&r1=1796269&r2=1796270&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/Init.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/Init.java Fri May 26 10:25:32 2017
@@ -21,8 +21,6 @@ package org.apache.xml.security;
 import java.io.InputStream;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -112,50 +110,43 @@ public class Init {
 
         LOG.debug("Registering default algorithms");
         try {
-            AccessController.doPrivileged(new PrivilegedExceptionAction<Void>(){
-                @Override public Void run() throws XMLSecurityException {
-                    //
-                    // Bind the default prefixes
-                    //
-                    ElementProxy.registerDefaultPrefixes();
-
-                    //
-                    // Set the default Transforms
-                    //
-                    Transform.registerDefaultAlgorithms();
-
-                    //
-                    // Set the default signature algorithms
-                    //
-                    SignatureAlgorithm.registerDefaultAlgorithms();
-
-                    //
-                    // Set the default JCE algorithms
-                    //
-                    JCEMapper.registerDefaultAlgorithms();
-
-                    //
-                    // Set the default c14n algorithms
-                    //
-                    Canonicalizer.registerDefaultAlgorithms();
-
-                    //
-                    // Register the default resolvers
-                    //
-                    ResourceResolver.registerDefaultResolvers();
-
-                    //
-                    // Register the default key resolvers
-                    //
-                    KeyResolver.registerDefaultResolvers();
-
-                    return null;
-                }
-            });
-        } catch (PrivilegedActionException ex) {
-            XMLSecurityException xse = (XMLSecurityException)ex.getException();
-            LOG.error(xse.getMessage(), xse);
+            //
+            // Bind the default prefixes
+            //
+            ElementProxy.registerDefaultPrefixes();
+        } catch (XMLSecurityException ex) {
+            LOG.error(ex.getMessage(), ex);
         }
+
+        //
+        // Set the default Transforms
+        //
+        Transform.registerDefaultAlgorithms();
+
+        //
+        // Set the default signature algorithms
+        //
+        SignatureAlgorithm.registerDefaultAlgorithms();
+
+        //
+        // Set the default JCE algorithms
+        //
+        JCEMapper.registerDefaultAlgorithms();
+
+        //
+        // Set the default c14n algorithms
+        //
+        Canonicalizer.registerDefaultAlgorithms();
+
+        //
+        // Register the default resolvers
+        //
+        ResourceResolver.registerDefaultResolvers();
+
+        //
+        // Register the default key resolvers
+        //
+        KeyResolver.registerDefaultResolvers();
     }
 
     /**

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/utils/ElementProxy.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/utils/ElementProxy.java?rev=1796270&r1=1796269&r2=1796270&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/utils/ElementProxy.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/utils/ElementProxy.java Fri May 26 10:25:32 2017
@@ -478,6 +478,11 @@ public abstract class ElementProxy {
     public static void setDefaultPrefix(String namespace, String prefix)
         throws XMLSecurityException {
         JavaUtils.checkRegisterPermission();
+        setNamespacePrefix(namespace, prefix);
+    }
+    
+    private static void setNamespacePrefix(String namespace, String prefix)
+        throws XMLSecurityException {
         if (prefixMappings.containsValue(prefix)) {
             String storedPrefix = prefixMappings.get(namespace);
             if (!storedPrefix.equals(prefix)) {
@@ -500,14 +505,14 @@ public abstract class ElementProxy {
      * This method registers the default prefixes.
      */
     public static void registerDefaultPrefixes() throws XMLSecurityException {
-        setDefaultPrefix("http://www.w3.org/2000/09/xmldsig#", "ds");
-        setDefaultPrefix("http://www.w3.org/2001/04/xmlenc#", "xenc");
-        setDefaultPrefix("http://www.w3.org/2009/xmlenc11#", "xenc11");
-        setDefaultPrefix("http://www.xmlsecurity.org/experimental#", "experimental");
-        setDefaultPrefix("http://www.w3.org/2002/04/xmldsig-filter2", "dsig-xpath-old");
-        setDefaultPrefix("http://www.w3.org/2002/06/xmldsig-filter2", "dsig-xpath");
-        setDefaultPrefix("http://www.w3.org/2001/10/xml-exc-c14n#", "ec");
-        setDefaultPrefix(
+        setNamespacePrefix("http://www.w3.org/2000/09/xmldsig#", "ds");
+        setNamespacePrefix("http://www.w3.org/2001/04/xmlenc#", "xenc");
+        setNamespacePrefix("http://www.w3.org/2009/xmlenc11#", "xenc11");
+        setNamespacePrefix("http://www.xmlsecurity.org/experimental#", "experimental");
+        setNamespacePrefix("http://www.w3.org/2002/04/xmldsig-filter2", "dsig-xpath-old");
+        setNamespacePrefix("http://www.w3.org/2002/06/xmldsig-filter2", "dsig-xpath");
+        setNamespacePrefix("http://www.w3.org/2001/10/xml-exc-c14n#", "ec");
+        setNamespacePrefix(
             "http://www.nue.et-inf.uni-siegen.de/~geuer-pollmann/#xpathFilter", "xx"
         );
     }