Validate the generated signatures.


git-svn-id: https://svn.apache.org/repos/asf/santuario/xml-security-java/trunk@1854106 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/test/java/javax/xml/crypto/test/dsig/EnvelopingSignatureTest.java b/src/test/java/javax/xml/crypto/test/dsig/EnvelopingSignatureTest.java
index fe04eb3..8fdea4c 100644
--- a/src/test/java/javax/xml/crypto/test/dsig/EnvelopingSignatureTest.java
+++ b/src/test/java/javax/xml/crypto/test/dsig/EnvelopingSignatureTest.java
@@ -39,6 +39,7 @@
 import javax.xml.crypto.dsig.XMLSignature;
 import javax.xml.crypto.dsig.XMLSignatureFactory;
 import javax.xml.crypto.dsig.dom.DOMSignContext;
+import javax.xml.crypto.dsig.dom.DOMValidateContext;
 import javax.xml.crypto.dsig.keyinfo.KeyInfo;
 import javax.xml.crypto.dsig.keyinfo.KeyInfoFactory;
 import javax.xml.crypto.dsig.keyinfo.KeyValue;
@@ -121,6 +122,19 @@
             (Element) xpath.evaluate(expression, document, XPathConstants.NODE);
         assertNotNull(signedElement);
         assertEquals("Object", signedElement.getParentNode().getLocalName());
+
+        // validate signature
+        DOMValidateContext dvc = new DOMValidateContext
+            (rsaKeyPair.getPublic(), document.getDocumentElement());
+        XMLSignature sig2 = fac.unmarshalXMLSignature(dvc);
+
+        if (!signature.equals(sig2)) {
+            throw new Exception
+                ("Unmarshalled signature is not equal to generated signature");
+        }
+        if (!sig2.validate(dvc)) {
+            throw new Exception("Validation of generated signature failed");
+        }
     }
 
     @Test
@@ -158,5 +172,18 @@
                                                "signature", null);
         DOMSignContext dsc = new DOMSignContext(rsaKeyPair.getPrivate(), doc);       
         sig.sign(dsc);
+
+        // validate signature
+        DOMValidateContext dvc = new DOMValidateContext
+            (rsaKeyPair.getPublic(), doc.getDocumentElement());
+        XMLSignature sig2 = fac.unmarshalXMLSignature(dvc);
+
+        if (!sig.equals(sig2)) {
+            throw new Exception
+                ("Unmarshalled signature is not equal to generated signature");
+        }
+        if (!sig2.validate(dvc)) {
+            throw new Exception("Validation of generated signature failed");
+        }
     }
 }