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 2015/12/21 12:02:58 UTC

svn commit: r1721123 - in /santuario/xml-security-java/trunk/src: main/java/org/apache/xml/security/stax/ext/ main/java/org/apache/xml/security/stax/impl/processor/input/ main/java/org/apache/xml/security/stax/impl/processor/output/ main/java/org/apach...

Author: coheigea
Date: Mon Dec 21 11:02:57 2015
New Revision: 1721123

URL: http://svn.apache.org/viewvc?rev=1721123&view=rev
Log:
Fix for SANTUARIO-407: Add configuration option to specify the id of the document to sign (similar to DOMSignContext.setIdAttributeNS)

Added:
    santuario/xml-security-java/trunk/src/test/resources/org/apache/xml/security/testcases/SAML2ArtifactResponseUnsigned.xml   (with props)
Modified:
    santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/AbstractInputProcessor.java
    santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/AbstractOutputProcessor.java
    santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/ResourceResolver.java
    santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/XMLSecurityProperties.java
    santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractSignatureReferenceVerifyInputProcessor.java
    santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/output/XMLSignatureOutputProcessor.java
    santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverFilesystem.java
    santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverHttp.java
    santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverSameDocument.java
    santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverXPointer.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/signature/AbstractSignatureCreationTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/signature/SignatureCreationTest.java

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/AbstractInputProcessor.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/AbstractInputProcessor.java?rev=1721123&r1=1721122&r2=1721123&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/AbstractInputProcessor.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/AbstractInputProcessor.java Mon Dec 21 11:02:57 2015
@@ -99,6 +99,6 @@ public abstract class AbstractInputProce
     }
 
     public Attribute getReferenceIDAttribute(XMLSecStartElement xmlSecStartElement) {
-        return xmlSecStartElement.getAttributeByName(XMLSecurityConstants.ATT_NULL_Id);
+        return xmlSecStartElement.getAttributeByName(securityProperties.getIdAttributeNS());
     }
 }

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/AbstractOutputProcessor.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/AbstractOutputProcessor.java?rev=1721123&r1=1721122&r2=1721123&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/AbstractOutputProcessor.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/AbstractOutputProcessor.java Mon Dec 21 11:02:57 2015
@@ -252,7 +252,7 @@ public abstract class AbstractOutputProc
         if (secureParts != null) {
             securePart = secureParts.get(xmlSecStartElement.getName());
             if (securePart == null) {
-                Attribute attribute = xmlSecStartElement.getAttributeByName(XMLSecurityConstants.ATT_NULL_Id);
+                Attribute attribute = xmlSecStartElement.getAttributeByName(securityProperties.getIdAttributeNS());
                 if (attribute != null) {
                     securePart = secureParts.get(attribute.getValue());
                 }

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/ResourceResolver.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/ResourceResolver.java?rev=1721123&r1=1721122&r2=1721123&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/ResourceResolver.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/ResourceResolver.java Mon Dec 21 11:02:57 2015
@@ -23,6 +23,8 @@ import org.apache.xml.security.stax.ext.
 
 import java.io.InputStream;
 
+import javax.xml.namespace.QName;
+
 /**
  * @author $Author$
  * @version $Revision$ $Date$
@@ -31,7 +33,7 @@ public interface ResourceResolver {
 
     boolean isSameDocumentReference();
 
-    boolean matches(XMLSecStartElement xmlSecStartElement);
+    boolean matches(XMLSecStartElement xmlSecStartElement, QName idAttributeNS);
 
     InputStream getInputStreamFromExternalReference() throws XMLSecurityException;
 }

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/XMLSecurityProperties.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/XMLSecurityProperties.java?rev=1721123&r1=1721122&r2=1721123&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/XMLSecurityProperties.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/XMLSecurityProperties.java Mon Dec 21 11:02:57 2015
@@ -26,6 +26,8 @@ import java.util.ArrayList;
 import java.util.LinkedList;
 import java.util.List;
 
+import javax.xml.namespace.QName;
+
 
 /**
  * Main configuration class to supply keys etc.
@@ -69,6 +71,8 @@ public class XMLSecurityProperties {
 
     private int signaturePosition = 0;
 
+    private QName idAttributeNS = XMLSecurityConstants.ATT_NULL_Id;
+    
     public XMLSecurityProperties() {
     }
 
@@ -99,6 +103,7 @@ public class XMLSecurityProperties {
         this.useSingleCert = xmlSecurityProperties.useSingleCert;
         this.signatureVerificationKey = xmlSecurityProperties.signatureVerificationKey;
         this.signaturePosition = xmlSecurityProperties.signaturePosition;
+        this.idAttributeNS = xmlSecurityProperties.idAttributeNS;
     }
 
     public SecurityTokenConstants.KeyIdentifier getSignatureKeyIdentifier() {
@@ -128,7 +133,25 @@ public class XMLSecurityProperties {
         this.signaturePosition = signaturePosition;
     }
 
+    /** 
+     * Return the qualified name of the ID attribute used to sign the document.
+     * By default, ID is used.
+     * 
+     * @return the qualified name of the ID attribute
+     */
+    public QName getIdAttributeNS() {
+		return idAttributeNS;
+	}
+
     /**
+     * Sets the qualified name of the ID attribute used to sign the document.
+     * @param idAttributeNS Qualified Name of the ID attribute to use
+     */
+	public void setIdAttributeNS(QName idAttributeNS) {
+		this.idAttributeNS = idAttributeNS;
+	}
+
+	/**
      * returns the KeyIdentifierType which will be used in the secured document
      *
      * @return The KeyIdentifierType

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractSignatureReferenceVerifyInputProcessor.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractSignatureReferenceVerifyInputProcessor.java?rev=1721123&r1=1721122&r2=1721123&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractSignatureReferenceVerifyInputProcessor.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractSignatureReferenceVerifyInputProcessor.java Mon Dec 21 11:02:57 2015
@@ -187,7 +187,7 @@ public abstract class AbstractSignatureR
         List<ReferenceType> referenceTypes = Collections.emptyList();
         for (int i = 0; i < sameDocumentReferences.size(); i++) {
             KeyValue<ResourceResolver, ReferenceType> keyValue = sameDocumentReferences.get(i);
-            if (keyValue.getKey().matches(xmlSecStartElement)) {
+            if (keyValue.getKey().matches(xmlSecStartElement, getSecurityProperties().getIdAttributeNS())) {
                 if (referenceTypes == Collections.<ReferenceType>emptyList()) {
                     referenceTypes = new ArrayList<ReferenceType>();
                 }

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/output/XMLSignatureOutputProcessor.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/output/XMLSignatureOutputProcessor.java?rev=1721123&r1=1721122&r2=1721123&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/output/XMLSignatureOutputProcessor.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/output/XMLSignatureOutputProcessor.java Mon Dec 21 11:02:57 2015
@@ -86,12 +86,12 @@ public class XMLSignatureOutputProcessor
                         signaturePartDef.setGenerateXPointer(securePart.isGenerateXPointer());
                         signaturePartDef.setSigRefId(IDGenerator.generateID(null));
 
-                        Attribute attribute = xmlSecStartElement.getAttributeByName(XMLSecurityConstants.ATT_NULL_Id);
+                        Attribute attribute = xmlSecStartElement.getAttributeByName(securityProperties.getIdAttributeNS());
                         if (attribute != null) {
                             signaturePartDef.setSigRefId(attribute.getValue());
                         } else {
                             List<XMLSecAttribute> attributeList = new ArrayList<XMLSecAttribute>(1);
-                            attributeList.add(createAttribute(XMLSecurityConstants.ATT_NULL_Id, signaturePartDef.getSigRefId()));
+                            attributeList.add(createAttribute(securityProperties.getIdAttributeNS(), signaturePartDef.getSigRefId()));
                             xmlSecEvent = addAttributes(xmlSecStartElement, attributeList);
                         }
                     } else {

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverFilesystem.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverFilesystem.java?rev=1721123&r1=1721122&r2=1721123&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverFilesystem.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverFilesystem.java Mon Dec 21 11:02:57 2015
@@ -26,6 +26,8 @@ import org.apache.xml.security.stax.ext.
 import java.io.InputStream;
 import java.net.URI;
 
+import javax.xml.namespace.QName;
+
 /**
  * Resolver for local filesystem resources. Use the standard java security-manager to
  * restrict filesystem accesses.
@@ -68,7 +70,7 @@ public class ResolverFilesystem implemen
     }
 
     @Override
-    public boolean matches(XMLSecStartElement xmlSecStartElement) {
+    public boolean matches(XMLSecStartElement xmlSecStartElement, QName idAttributeNS) {
         return false;
     }
 

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverHttp.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverHttp.java?rev=1721123&r1=1721122&r2=1721123&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverHttp.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverHttp.java Mon Dec 21 11:02:57 2015
@@ -28,6 +28,8 @@ import java.io.InputStream;
 import java.net.*;
 import java.util.regex.Pattern;
 
+import javax.xml.namespace.QName;
+
 /**
  * Resolver for external http[s] resources.
  *
@@ -76,7 +78,7 @@ public class ResolverHttp implements Res
     }
 
     @Override
-    public boolean matches(XMLSecStartElement xmlSecStartElement) {
+    public boolean matches(XMLSecStartElement xmlSecStartElement, QName idAttributeNS) {
         return false;
     }
 

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverSameDocument.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverSameDocument.java?rev=1721123&r1=1721122&r2=1721123&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverSameDocument.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverSameDocument.java Mon Dec 21 11:02:57 2015
@@ -22,6 +22,7 @@ import org.apache.xml.security.exception
 import org.apache.xml.security.stax.ext.*;
 import org.apache.xml.security.stax.ext.stax.XMLSecStartElement;
 
+import javax.xml.namespace.QName;
 import javax.xml.stream.events.Attribute;
 import java.io.InputStream;
 
@@ -69,7 +70,7 @@ public class ResolverSameDocument implem
     }
 
     @Override
-    public boolean matches(XMLSecStartElement xmlSecStartElement) {
+    public boolean matches(XMLSecStartElement xmlSecStartElement, QName idAttributeNS) {
         if (id.isEmpty()) {
             if (firstElementOccured) {
                 return false;
@@ -77,7 +78,7 @@ public class ResolverSameDocument implem
             firstElementOccured = true;
             return true;
         } else {
-            Attribute attribute = xmlSecStartElement.getAttributeByName(XMLSecurityConstants.ATT_NULL_Id);
+            Attribute attribute = xmlSecStartElement.getAttributeByName(idAttributeNS);
             if (attribute != null && attribute.getValue().equals(id)) {
                 return true;
             }

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverXPointer.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverXPointer.java?rev=1721123&r1=1721122&r2=1721123&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverXPointer.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverXPointer.java Mon Dec 21 11:02:57 2015
@@ -21,9 +21,9 @@ package org.apache.xml.security.stax.imp
 import org.apache.xml.security.exceptions.XMLSecurityException;
 import org.apache.xml.security.stax.ext.ResourceResolver;
 import org.apache.xml.security.stax.ext.ResourceResolverLookup;
-import org.apache.xml.security.stax.ext.XMLSecurityConstants;
 import org.apache.xml.security.stax.ext.stax.XMLSecStartElement;
 
+import javax.xml.namespace.QName;
 import javax.xml.stream.events.Attribute;
 import java.io.InputStream;
 import java.util.regex.Matcher;
@@ -92,7 +92,7 @@ public class ResolverXPointer implements
     }
 
     @Override
-    public boolean matches(XMLSecStartElement xmlSecStartElement) {
+    public boolean matches(XMLSecStartElement xmlSecStartElement, QName idAttributeNS) {
         //when id is null we have #xpointer(/) and then we just return true for the first start-element
         if (id == null) {
             if (!rootNodeOccured) {
@@ -102,7 +102,7 @@ public class ResolverXPointer implements
             return false;
         }
         //case #xpointer(id('ID')):
-        Attribute attribute = xmlSecStartElement.getAttributeByName(XMLSecurityConstants.ATT_NULL_Id);
+        Attribute attribute = xmlSecStartElement.getAttributeByName(idAttributeNS);
         if (attribute != null && attribute.getValue().equals(id)) {
             return true;
         }

Modified: santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/signature/AbstractSignatureCreationTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/signature/AbstractSignatureCreationTest.java?rev=1721123&r1=1721122&r2=1721123&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/signature/AbstractSignatureCreationTest.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/signature/AbstractSignatureCreationTest.java Mon Dec 21 11:02:57 2015
@@ -73,7 +73,7 @@ public class AbstractSignatureCreationTe
     ) throws Exception {
         verifyUsingDOM(document, cert, secureParts, null);
     }
-
+    
     /**
      * Verify the document using DOM
      */
@@ -83,9 +83,9 @@ public class AbstractSignatureCreationTe
             List<SecurePart> secureParts,
             ResourceResolverSpi resourceResolverSpi
     ) throws Exception {
-        verifyUsingDOM(document, cert, secureParts, resourceResolverSpi, true);
+        verifyUsingDOM(document, cert, secureParts, resourceResolverSpi, true, "Id");
     }
-
+    
     /**
      * Verify the document using DOM
      */
@@ -94,7 +94,8 @@ public class AbstractSignatureCreationTe
             X509Certificate cert,
             List<SecurePart> secureParts,
             ResourceResolverSpi resourceResolverSpi,
-            boolean keyInfoRequired
+            boolean keyInfoRequired,
+            String idAttributeNS
     ) throws Exception {
         XPathFactory xpf = XPathFactory.newInstance();
         XPath xpath = xpf.newXPath();
@@ -113,7 +114,7 @@ public class AbstractSignatureCreationTe
             Element signedElement =
                     (Element) xpath.evaluate(expression, document, XPathConstants.NODE);
             Assert.assertNotNull(signedElement);
-            signedElement.setIdAttributeNS(null, "Id", true);
+            signedElement.setIdAttributeNS(null, idAttributeNS, true);
         }
 
         XMLSignature signature = new XMLSignature(sigElement, "");

Modified: santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/signature/SignatureCreationTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/signature/SignatureCreationTest.java?rev=1721123&r1=1721122&r2=1721123&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/signature/SignatureCreationTest.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/signature/SignatureCreationTest.java Mon Dec 21 11:02:57 2015
@@ -357,6 +357,61 @@ public class SignatureCreationTest exten
     }
 
     @Test
+    public void testIdAttributeNS() throws Exception {
+        // Set up the Configuration
+        XMLSecurityProperties properties = new XMLSecurityProperties();
+        List<XMLSecurityConstants.Action> actions = new ArrayList<XMLSecurityConstants.Action>();
+        actions.add(XMLSecurityConstants.SIGNATURE);
+        properties.setActions(actions);
+
+        // Specify the signature position
+        properties.setIdAttributeNS(new QName(null, "ID"));
+        
+        // Set the key up
+        KeyStore keyStore = KeyStore.getInstance("jks");
+        keyStore.load(
+                this.getClass().getClassLoader().getResource("transmitter.jks").openStream(),
+                "default".toCharArray()
+        );
+        Key key = keyStore.getKey("transmitter", "default".toCharArray());
+        properties.setSignatureKey(key);
+        X509Certificate cert = (X509Certificate) keyStore.getCertificate("transmitter");
+        properties.setSignatureCerts(new X509Certificate[]{cert});
+
+        SecurePart securePart
+                = new SecurePart(null,
+                SecurePart.Modifier.Content,
+                new String[]{
+                        "http://www.w3.org/2000/09/xmldsig#enveloped-signature",
+                        "http://www.w3.org/TR/2001/REC-xml-c14n-20010315"
+                },
+                "http://www.w3.org/2000/09/xmldsig#sha1");
+        securePart.setSecureEntireRequest(true);
+        properties.addSignaturePart(securePart);
+
+        OutboundXMLSec outboundXMLSec = XMLSec.getOutboundXMLSec(properties);
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        XMLStreamWriter xmlStreamWriter = outboundXMLSec.processOutMessage(baos, "UTF-8");
+
+        InputStream sourceDocument
+                = this.getClass().getClassLoader().getResourceAsStream(
+                "org/apache/xml/security/testcases/SAML2ArtifactResponseUnsigned.xml");
+        XMLStreamReader xmlStreamReader = xmlInputFactory.createXMLStreamReader(sourceDocument);
+
+        XmlReaderToWriter.writeAll(xmlStreamReader, xmlStreamWriter);
+        xmlStreamWriter.close();
+
+        //System.out.println("Got:\n" + new String(baos.toByteArray(), "UTF-8"));
+
+        Document document
+                = XMLUtils.createDocumentBuilder(false).parse(new ByteArrayInputStream(baos.toByteArray()));
+
+        // Verify using DOM
+        verifyUsingDOM(document, cert, properties.getSignatureSecureParts(),null,true,"ID");
+    }
+    
+    
+    @Test
     public void testMultipleElements() throws Exception {
         // Set up the Configuration
         XMLSecurityProperties properties = new XMLSecurityProperties();
@@ -1228,7 +1283,7 @@ public class SignatureCreationTest exten
             XMLUtils.createDocumentBuilder(false).parse(new ByteArrayInputStream(baos.toByteArray()));
 
         // Verify using DOM
-        verifyUsingDOM(document, cert, properties.getSignatureSecureParts(), null, false);
+        verifyUsingDOM(document, cert, properties.getSignatureSecureParts(), null, false, "Id");
 
     }
 }

Added: santuario/xml-security-java/trunk/src/test/resources/org/apache/xml/security/testcases/SAML2ArtifactResponseUnsigned.xml
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/resources/org/apache/xml/security/testcases/SAML2ArtifactResponseUnsigned.xml?rev=1721123&view=auto
==============================================================================
--- santuario/xml-security-java/trunk/src/test/resources/org/apache/xml/security/testcases/SAML2ArtifactResponseUnsigned.xml (added)
+++ santuario/xml-security-java/trunk/src/test/resources/org/apache/xml/security/testcases/SAML2ArtifactResponseUnsigned.xml Mon Dec 21 11:02:57 2015
@@ -0,0 +1 @@
+<samlp:ArtifactResponse xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="_e5e553f51fe1a009374bdf2186a685d8" IssueInstant="2006-10-11T03:12:59Z" Version="2.0"><samlp:Status><samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/></samlp:Status><samlp:Response Destination="https://sp.example.org/SAML/POST" ID="rident" IssueInstant="1970-01-02T01:01:02.100Z" Version="2.0" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"><saml:Issuer>https://idp.example.org/</saml:Issuer><samlp:Status><samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/></samlp:Status><saml:Assertion ID="aident" IssueInstant="1970-01-02T01:01:02.100Z" Version="2.0"><saml:Issuer>https://idp.example.org/</saml:Issuer><saml:Subject><saml:NameID>John Doe</saml:NameID></saml:Subject><saml:AuthnStatement AuthnInstant="1970-01-02T01:01:02.100Z"><saml:AuthnContext><saml:AuthnContextClassRef>foo</saml:AuthnContextClassRef></saml:AuthnContext></saml:AuthnStatement></saml:Assertion></samlp:Re
 sponse></samlp:ArtifactResponse>

Propchange: santuario/xml-security-java/trunk/src/test/resources/org/apache/xml/security/testcases/SAML2ArtifactResponseUnsigned.xml
------------------------------------------------------------------------------
    svn:executable = *