[java-metadata-aggregator COMMIT] /trunk/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/XMLSignatureSi...

noreply at shibboleth.net noreply at shibboleth.net
Sun Jun 30 09:17:19 EDT 2013


Author: iay
Date: Sun Jun 30 09:17:19 2013
New Revision: 239

URL: http://svn.shibboleth.net/view/java-metadata-aggregator?rev=239&view=rev
Log:
MDA-101 mark the selected ID attribute as such so that it can be referenced in the signature; allows operation with Santuario 1.5.x.

Modified:
    trunk/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/XMLSignatureSigningStage.java

Modified: trunk/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/XMLSignatureSigningStage.java
URL: http://svn.shibboleth.net/view/java-metadata-aggregator/trunk/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/XMLSignatureSigningStage.java?rev=239&r1=238&r2=239&view=diff
==============================================================================
--- trunk/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/XMLSignatureSigningStage.java (original)
+++ trunk/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/XMLSignatureSigningStage.java Sun Jun 30 09:17:19 2013
@@ -806,13 +806,13 @@
             return null;
         }
 
-        Attr attribute;
-        String value;
         if (idAttributeNames != null && !idAttributeNames.isEmpty()) {
             for (int i = 0; i < attributes.getLength(); i++) {
-                attribute = (Attr) attributes.item(i);
+                final Attr attribute = (Attr) attributes.item(i);
                 if (idAttributeNames.contains(QNameSupport.getNodeQName(attribute))) {
-                    value = StringSupport.trimOrNull(attribute.getValue());
+                    // mark the attribute as an ID attribute so that it can be referenced by the signature
+                    target.setIdAttributeNode(attribute, true);
+                    final String value = StringSupport.trimOrNull(attribute.getValue());
                     if (value != null) {
                         return value;
                     }
@@ -821,9 +821,9 @@
         }
 
         for (int i = 0; i < attributes.getLength(); i++) {
-            attribute = (Attr) attributes.item(i);
+            final Attr attribute = (Attr) attributes.item(i);
             if (attribute.isId()) {
-                value = StringSupport.trimOrNull(attribute.getValue());
+                final String value = StringSupport.trimOrNull(attribute.getValue());
                 if (value != null) {
                     return value;
                 }



More information about the commits mailing list