[java-metadata-aggregator COMMIT] in /trunk/aggregator-pipeline/src/test: java/net/shibboleth/metadata/dom/XMLSignatu...

noreply at shibboleth.net noreply at shibboleth.net
Fri Oct 11 10:39:09 EDT 2013


Author: iay
Date: Fri Oct 11 10:39:09 2013
New Revision: 263

URL: http://svn.shibboleth.net/view/java-metadata-aggregator?rev=263&view=rev
Log:
MDA-112: signature validation stage should protect against wrapping attacks
Refactor test resources so that we can see what is going on.

Added:
    trunk/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/XMLSignatureValidationStage-badSignature.xml
      - copied unchanged from r259, trunk/aggregator-pipeline/src/test/resources/data/badSignatureSamlMetadata.xml
    trunk/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/XMLSignatureValidationStage-entities2.xml   (with props)
    trunk/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/XMLSignatureValidationStage-signed.xml   (with props)
    trunk/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/XMLSignatureValidationStage-signingCert.pem
    trunk/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/XMLSignatureValidationStage-signingKey.pem
Modified:
    trunk/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/XMLSignatureValidationStageTest.java
    trunk/aggregator-pipeline/src/test/resources/data/badSignatureSamlMetadata.xml

Modified: trunk/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/XMLSignatureValidationStageTest.java
URL: http://svn.shibboleth.net/view/java-metadata-aggregator/trunk/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/XMLSignatureValidationStageTest.java?rev=263&r1=262&r2=263&view=diff
==============================================================================
--- trunk/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/XMLSignatureValidationStageTest.java (original)
+++ trunk/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/XMLSignatureValidationStageTest.java Fri Oct 11 10:39:09 2013
@@ -17,6 +17,7 @@
 
 package net.shibboleth.metadata.dom;
 
+import java.io.IOException;
 import java.security.cert.Certificate;
 import java.util.ArrayList;
 import java.util.List;
@@ -25,13 +26,25 @@
 import net.shibboleth.metadata.ErrorStatus;
 
 import org.testng.Assert;
+import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 import org.w3c.dom.Element;
 
+import edu.vt.middleware.crypt.CryptException;
 import edu.vt.middleware.crypt.util.CryptReader;
 
 /** Unit test for {@link XMLSchemaValidationStage}. */
 public class XMLSignatureValidationStageTest extends BaseDomTest {
+    
+    @BeforeClass
+    private void init() {
+        setTestingClass(XMLSignatureValidationStage.class);
+    }
+    
+    private Certificate getSigningCertificate() throws CryptException, IOException {
+        return CryptReader.readCertificate(XMLSignatureSigningStageTest.class
+                .getResourceAsStream(classRelativeResource("signingCert.pem")));
+    }
 
     /**
      * Tests verifying a file with a valid signature.
@@ -40,13 +53,12 @@
      */
     @Test
     public void testValidSignature() throws Exception {
-        Element testInput = readXmlData("signedSamlMetadata.xml");
+        Element testInput = readXmlData("signed.xml");
 
         final List<DomElementItem> mdCol = new ArrayList<>();
         mdCol.add(new DomElementItem(testInput));
 
-        Certificate signingCert = CryptReader.readCertificate(XMLSignatureSigningStageTest.class
-                .getResourceAsStream("/data/signingCert.pem"));
+        Certificate signingCert = getSigningCertificate();
 
         XMLSignatureValidationStage stage = new XMLSignatureValidationStage();
         stage.setId("test");
@@ -67,14 +79,13 @@
      */
     @Test
     public void testInvalidSignature() throws Exception {
-        Element testInput = readXmlData("badSignatureSamlMetadata.xml");
+        Element testInput = readXmlData("badSignature.xml");
 
         DomElementItem item = new DomElementItem(testInput);
         final List<DomElementItem> mdCol = new ArrayList<>();
         mdCol.add(item);
 
-        Certificate signingCert = CryptReader.readCertificate(XMLSignatureSigningStageTest.class
-                .getResourceAsStream("/data/signingCert.pem"));
+        Certificate signingCert = getSigningCertificate();
 
         XMLSignatureValidationStage stage = new XMLSignatureValidationStage();
         stage.setId("test");
@@ -93,15 +104,14 @@
      */
     @Test
     public void testRequiredSignature() throws Exception {
-        Element testInput = readXmlData("samlMetadata/entitiesDescriptor2.xml");
+        Element testInput = readXmlData("entities2.xml");
 
         DomElementItem item = new DomElementItem(testInput);
         
         final List<DomElementItem> mdCol = new ArrayList<>();
         mdCol.add(item);
 
-        Certificate signingCert = CryptReader.readCertificate(XMLSignatureSigningStageTest.class
-                .getResourceAsStream("/data/signingCert.pem"));
+        Certificate signingCert = getSigningCertificate();
 
         XMLSignatureValidationStage stage = new XMLSignatureValidationStage();
         stage.setId("test");



More information about the commits mailing list